From 2f368e551918ec63feead4cea9b4976c78c630b3 Mon Sep 17 00:00:00 2001 From: annie_wangli Date: Wed, 16 Mar 2022 17:38:25 +0800 Subject: [PATCH] update docs Signed-off-by: annie_wangli --- README.md | 93 ++++++++++++++++++++----------- figures/useridm_architecture.png | Bin 0 -> 12861 bytes 2 files changed, 60 insertions(+), 33 deletions(-) create mode 100644 figures/useridm_architecture.png diff --git a/README.md b/README.md index d6efea0..9c82ed6 100755 --- a/README.md +++ b/README.md @@ -1,36 +1,63 @@ -# useriam_useridm - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request +# User Identity Management (useridm) -#### Gitee Feature -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +## Introduction + +As a basic component of the Identity & Access Management (IAM) subsystem, User Identity Management (useridm) provides a unified interface for managing user credential information in the system and invokes authentication resources through the authentication executor management module to implement lifecycle management and secure storage of user credentials. + +**Figure 1 User identity credential management architecture + +useridm_architecture + +## Directory Structure + +```undefined +//base/user_iam/user_idm +├── frameworks # Framework code +├── interfaces # Directory for storing external interfaces +│ └── innerkits # Header files exposed to the internal subsystem +├── sa_profile # Profile of the Service Ability +├── services # Implementation of Service Ability services +├── unittest # Directory for storing test code +├── utils # Directory for storing utility code +├── bundle.json # Component description file +└── useridm.gni # Build configuration +``` + + +## Usage + +### Available APIs + +**Table 1 ** APIs for managing user credentials + +| API | Description | +| ------ | -------------------------------- | +| addCredential(credentialInfo : CredentialInfo, callback : IIdmCallback) : void; | Adds a user credential.| +| updateCredential(credentialInfo:CredentialInfo, callback:IIdmCallback) : void; | Updates a user credential.| +| delUser(token : Uint8Array, callback : IIdmCallback) : void; | Deletes a user password. When a user password is deleted, all authentication credentials of the user are also deleted.| +| delCred(credentialId : Uint8Array, token : Uint8Array, callback : IIdmCallback) : void; | Deletes a user credential.| + +**Table 2** API for querying user credential information + +| API| Description | +| ------ | -------------------------------- | +| getAuthInfo(callback : AsyncCallback>,authType? : AuthType) : void; | Obtains one or all types of authentication credentials of a user.| + +### Usage Guidelines + +- The APIs defined in the header file ```common\interface\useridm_interface.h``` in the [useriam_auth_executor_mgr](https://gitee.com/openharmony-sig/useriam_coauth) repository must be implemented in a Trusted Execution Environment (TEE). In addition, the association between the user credentials and user IDs should not be tampered with, and unified user authentication must be supported. +- During the adaptation, vendors can refer to the software implementation of related functions provided by the OpenHarmony framework. + +## Repositories Involved + +[useriam_auth_executor_mgr](https://gitee.com/openharmony-sig/useriam_coauth) + +**[useriam_user_idm](https://gitee.com/openharmony-sig/useriam_useridm)** + +[useriam_user_auth](https://gitee.com/openharmony-sig/useriam_userauth) + +[useriam_pin_auth](https://gitee.com/openharmony-sig/useriam_pinauth) + +[useriam_faceauth](https://gitee.com/openharmony/useriam_faceauth) diff --git a/figures/useridm_architecture.png b/figures/useridm_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..e9964bc2e7181ad8c97d20479ce8b2f79f8eae2e GIT binary patch literal 12861 zcmc(mcU%+QzV1f>rAYBbKtVuMKq;bB0RaWEfOG;#3q@)|krH|l1w;^32na}Tp@rU? zG?89ILP8a#SAm4i9rWGzoPBmVXWzT;=l(%p!py8SGb_(}*7x@$L|yeEEj24O006X) zAKljkfRhFQa3X^86!;D-fC&TsI^nGOP#!?{T$~3t$gS?F+yj832%3FU3UHgs@zGOf z0HA9*{yBltL)1+=DzQUTD$+<}r|z!!gB|q`erTdRe`l~LhnK-B9?NeCQ)ib;FYE=>dz!p?UG0Fw+!)H;|?KKt~2usOM zK(0EfEVNz`!S_cG#99TrcGuAWxbv^_rOrWQnlcLiVAjzqK3HC-hY_rX&46dM3 zTd}u7Y00!GmLCEWddaBcPrFier1#x|wgW}BDr$U^&*UXP5Q^37r4M%MjL`urXryj@woW0??W zU*X4gs@i3hAMIoDNcuq%f~%SQo!v`Y4w?vym=d3X*cJEl!g~ve*c5n!jh~=Yk`jU7 zKbR31x#Ef5wB3IsHAe;UsDl_OBlq|`1$jhOtXyhU@TR?6E_c)wKPZ*QZYA+knz3K8 zgkG_AQ-SRwOGkQ5%OqBYIZC>>uWoz>OsdKq;bJ~T9$n;SlKuX&yur!x1I{6vOU)|0v0n6sPYc+OidGCv;{8GfYP zwVE~Z&n~RXUn`}Zm+s#Zyx9j@ z_(7ZAw8u4`n$_OlwS9lk0EK8ugRRWz!tjcWvR)sPw%}2;QG$ry%x)9+#c}=0xZH42 zhi-~D-!zqGAhpzlKr;oOvGoqEvNsN#hH9O|wI;a2GE7|#(KELu+IDp;pQ_nHPg0~2 zhETum^$AxvUDm!)Jvy9gv~rP+?xNUBjq%3`lV*l;Tcz6%dHn)*QU`i7oj3BR2tDNG5Py0Vc$uo)ixB> zn5whBJ-ORXr{LN;&!56B(h#ektYwYa0FRTceWfJp-88E!Y!ZG3R= zX!||v1j;RGXVYl6Bf7Vm8OSS$J7X|NBQaFG!+|}izB*Gdq3$KpzzD$4%>1ir{*Sr_ z%D?@UNU2(ztN~@T$KbH7T*V50KB3x8OFlSjl?$q&11M$XMo{#sVqD*WJ2SA7`_zU;bY?hz^90RCn7a80|mcTmq) z?_Dzon>f8CSUDvsqI{Ym!;{sjA zWGT8ucS6_~UY0R7z+al(l!gMn{hHQ@>5PR6=hwjS{VDY2RhCol$s%X!+!=&3Q{R2) zOB~c4i;tF$sP$#MYqpG3aL(wO(<9Z=RW0<7$POOr-?@ogtiZk-a#!Oq@QIt3EYLQd z6kdcLOKcL&hrxpMvgz-?)GiTn3N@3jvcd#Rsy@WYZ#_YI+WUSDd}EQYQ0Ne+UTUY_ z-S3D)atXS$&0c5?_&TpjGH!tr5_;$|*!9m3UBEIb!6r)V2}Qm}vLA-(3S5HQikj`X zgJ#~0$cd*SNYw}LeQgl34ulT}T3Igea%eE!_a?RG7psevr?$)lmX_y6@=uYZOja@0 zN?uaS2o*dgQh3%c=jVRzr2BPl32(}CK%ow$fnGw>)Jhmxzm7U^6doWCQwkwHev&vS#@~XY(@3QIDi)OVOVsJa7Ti^BG$Dj8rpG?H1^fDpu0e8Evz*An2 zI$}4SUshkN53|wK3iYxHCRuLG3PJKs2=ip7TeIbV++qJXT<^{;^f4W}-C`D=aK4~^ zW$9v}K%ywQfAxKw{0r3t>iWg&7Z2mSuS!Jl?FOjUEU~@ic^kj=^6`4VW2{lm!R4NT zwrU^IY(J^I?-s%2o!z-kjMF8~oj>!;K$%Xqyc$hQsfM}rDCYK5F9XVb$g{l@@?(O^H`Ui?AN{I6 zZod|G;`44!dm)9M-2UP!g=Ge!{j z{9rPdQ@y0ei2aQ3%9zx-Uk#~`{Es~+cx7dl&-J7k$>PqiMzTJ-8g;Gs%q#wuJVUqH zwbVs2U{s)qS^e}bZ?r{2!|j?UoBU&CS|b8XV zZHA@GAtb(>S!^GdEE?7S$O^~4F!Y+rLP;)x#sct%T!Ei(&2xoCw(A!x>_1VetLa{p zPq?CQT%Z0@u^Ip{T<{ZH)<2_8seHD59EXkd=te=r-A(|*9HulVvU&7=$Z7~$lGXyH zcjB|>CGcD(t>in~eI~_<*SqI!`#qk9>OZSz21fq?d%YTm$d!)~ z^x*Zn7Cb)PAa|9Pho)W^rb*U*uX|JN+?@gWM~2XK=7WX2?rqYwDMmB-0< zU(Yksz<>|@D)_)PYdXo4*Kc8Yx`fouZO<|r>LHgno)A}gg)uV;1-8T9o}oIrC&xB@H+ylYy=8H3(0u zK0o)4x)T5j_DXQHQOb4UrSgJSI!*sc5)uKWolvb&6rxmZLV(TQDF&!*rM6lI7 zlGw}WFWT=I8T#0Rf(F+Ua@k8}w>-0R*nnhvhVnw+CxwsMZ7?G!Dbe8^b3*DR%VurO zX_;8~mUZTAt)|Bd*n_qkrPe%iLV4CB%QdBr!uUg!@WTPLkXbo&j&83FuD&o(S5Qer zaxI_tscw1qOtW3QWZ9X*G|#*RE}e?NmS#d9!`j-LZ5>AQWh~>@+ZC~70800jApDcN zUaVAxdC7s4OY-%(VpckDXqy;{#T;48E>nYCZn{M@;L8 z#ovs+&RQNfBqx({ApS`aQdr9{CqTPc)gMK4!8={Bi7TduPz(e&g5 zVGRyo;esg*4CQ!v$9zB{*l8nE>VZqSkhlRnnk@_9%~}+jX00?Qf({H-jmU{ z_u3oNZ6vDkdpP|d--&0W^Gmb~p+CzLRo$0+LAr55C9L<5fEmFEugliUOWJ*e1)@=O+cl*NV&nj(3;8`_XUwDjc#SMs2F z|95G{FuQ|hu*9;qXS>)H2NV-moWUn;07UgxNGts$elS#TkF@vDI zg-NqL^iA{9sXPa-NIX&jfMQC6wP%__9I^f3hL zh!i}j)|tb9_Yfm(R_jpQ%gDq@8d#vO<8Jt>SW24onCB$d;a$motYqYBss+YxFCcGt^Yu4xX!BxwPKudrSbu1dMISRVA7>FeSq$3Ydt$t4)2u@hst?;J3+DAY?-S#C%Fm!{GXqx& z{qmr!%l{!fQp^E4Mim{?h~7o@p$RKIbb}>`RZ2P72>85v364n%Kf7^HE)}u&Ul7B= zrP|u_Y`*yZ5(C;5S4HJ!PkYe}nFK`Au{j?2aV6_b7t?~a6%>B0pN^~CC3qGRlKaUO zfqM|Sn-wF*Vf1n=qAIf_%Q-v$VDlBRcLq8LLJGfNDxcp%r5+VR5tTEXPpmXw8E0FL z__!u64dsHz-Ypl@5iAL%ii)a5LaZw-4_Qg3~Iqw-m%XN1nPG0At*J_tU+QWE)W`vmsf$$5>3PG zy*jFI&M-3N7voF?+0uojR%SFn^PO*Y9>z4fW{mLFE5%i*w$9LvNE!*Rs*PkZIAaQx zIuhN?LlJp%o!3Nas;S3v?1r9qUdt0c2@G?ZE{3!8gh&mtA04JEW+bW1&OD`1>uKG6 zS*2*N3K4BNpVY#h=jW`}J`%FNz%RVYcU!e6#mZLS*A$bidY% z#&mCIm7*;2EP9vuCxmzP99`=_pQVKxD6N^agc1EVOtwf&K;aCffmrg?XYPdM(B2yA zq#IpyWQbqjVI2eyc&;yNHuXz|P|~MxX!c5W^BsG${dI*Zs&A4Ryd9_2x~|8mL-SP= zs)f@7O&*D!m9>ja__%_$sqY+%ctz}{x3R>#&EZhfK}}OrxIgw~ZY&NxAeRB|>X?l< z7Qnu2Hqn;B>)XnJq5te(I{pDt{U^@kpE>=%g|>eJ1;6c8!Y131=&U}lFec|+3~5+* zD5(4s98`aNSHB+)15jRa_{(EZuZ9I+^uoUr(f%!A#)L_TIl4sz#Tbedi{>P_`6);K z(oDhnzO!SU%+n@R_@Jq-P?kg}3pJ$ufZp#^wv};e_(QFJUgwQ= z^(x@MC6CJy(I~rONX>7mA=WNP|3xm{F6rq}paT+D{wf=b95!ZGk;@xeqTjTAZ|CVn zCsinXi`Q;zMJZNy%24e7xw2jjRU3-b9gQ#7+!nx$R-52_n(Kg|3mlpV3a%ZM1f6N#Q)}^$q zI3qhS<8FYz+pGMzvpwC9lhW==}AnZ%gEMTTHQT zOc%5CtP5v_Xk|U+^}A~eO;)t+UkkY7g+2LhQeK;hGgG5dmEEZvuv43N9B1@_b#*?M zSTxzaKL7QAVj`DG_R`HklIB{}w}n;d)jLzsRm71f+dWDV`ANM zD=TfxuHAAOU2Hy>;Hvm<^ObLXs?YfpL=y_wFMpEu(C8$_Is81nv%fsza^>Gsx&Jo^ z=8w)GFC*z2KE}Iiv*;I|F4K%hceXux3l1ID7+qJUlOhp^T_Dl*!C2zt$M&Y6enQ(j zn2CewN#0{(0x`~EycniLhB0C10v*Vp`hq&P3+5i7XFzKfGr3CYnvn_~cO zJODSY>$Imq=*gi(_}FMm>=x`8-G>tTfH%qk`z%s>?CyFCXq@Y<`@7 z`wH>_{sT5!=)rpoZ9<77wo39IRd!CF^CTvTcBC4u=4PTyjgPiRwqtGOhqm&LC0@{& z!b@|)W z-sJ`>l&YG7*%xRN-|&*9Ip6Q>yh43NZ@bZ_ULrEz*TS=xKlZ>;oU^O_UYTlT&c{<* zxExtz_j+%|HO3`^jxis*5PG!8XwteHvdp7@nucf|E;GSSRKxj?WVC#QSp`KY$+6R% z&wX0)M@a$NgT0IpXOTKl%4x8?)w-8@fEz4M=^>v{wmgW6VihJmzsixB&$p@qnWg-7 zciMcfsi7uL1*bC6nS;2X*IFH4PR<`akp_Ic^mr z1KBRMl}>HO-jLaDUmml2Y0fQ%i%$-Hcbng;SXGQ@<&Bj>@_8J)teP^*;#~RXlU_IF zjU|i_x@vXc#>8>FX`@A}vvy&Ut+tm#j^sl?5v=pJyyC>02430!tb*_R@uiWupeI&t zaG`^acZB<5YFthAd197+)S2OW$$SIn#+-rmZyg-cA_cKbKII=+Ce)M!J^0U+PwSMd z;882%crH1&r0Ri{I_jKi3BaDhl;$qg4R1N_9S7jI&9kglO&nW$3Xl8J6{DPOT z(8V~VhY6PS&1$;m7jk~xLwkI_aZS=v6>iLh;sp2VRHv95Bi2x9#0%C!7U?5=>->XH zTCMLt)7D7bJpd`4W7A`7W2E)Sjs_KXFNrVGhqWKgC`%P%lm$~&h@F#;mlFGMVZbnk zfGC7ig*Kq69 z3347cyO4Arr@o64(i#nqYrM3I3VdG^P+nw1^oLa(Ls!8U;PZ08zs)4_?b2%;wU#9< z9zYNAW&YB=6W&YiYa4F9J_6fR$(6m{3+B5@&9jCy{`88?!=PjJ*`eWd6P)Z3Ib89h z_FbtW$(@!vagLOh)>ulnE z`@P%C7}`ki6Nkt3x9$pAexDt7u*OF6Emb^n*z-caxZT7&$=Uq+{~|!~+wHeByroPg zt~*?bF6B59|Avb=((yYAg;p`EvmK6%C8?8EkIG?4aP+J1Q5taPKg6*fIIQL@PK++< z-?jU=&AFPhIsqX~i2Zd}Fj4=i(>@4UG0o0c8;`D^1zqxe5PP}*eVd)~r_Fx48kbm^ z`~zCcc*8-?Vx<#7Tepn2yfE*`e~NF+87z2n!7(ZO)Q?TM1#)<*el%{ME(1|T!&?3y zgy@@F)dTq4wE19U+`$WD!D1DMUgM0m377o7Z!kG^SZ^~La!*}@AJL-|3!^R%g+@M2 z6rH{GU##}>LEZx<(#7Ad`pciLn(4!Tb=89ZGgplm+iJN}s(g@E&=y2fu!y1QUhw@Y z)+yZhqn^>$XC!e@k#_zShZmRB19z2|fGF*IiXWB*mB2Sk+jDhnpe(Y`bvH&< z@~OJr3@d+ndcyr-Oe(B!?-o{ceV@#fFz0>9y#*o*ts@TXgsD8Vb_|!S!}w;#9GUV9 zSqRm5Ik>FcnzBP^T)@`bKqii#7RXZK!%xtbC1}O4RliY7H0~1kDCg`m<1#R> zGc>^5khyHzp4-P%KAmG&ku$wp6z4?;tVI+;+?qPnZo|1VI0ZlQ4-upOgHG7Mh_613 ztPv{*GP7{$%bCF((Kl*M$14-efn7Hq2`@W4xDZcXYaLJbU16d@z`xeD&~^M$ex7vEb*4I2HF znE7l2f5u$#KM@TcJHn3QpF{&0`-^BqYVz+MDs7bH=Jw^|AF#WXkuFv)B!2L zTMjGNC8Zx5_$ba8QM6qbw;?1ph;GkO*@$g41ypHOnHEplbk1deHVLS#%EV~}M5@W6 zT?krIpGXiY82n{;&8`>Ss484BSDA)a#FON5=-0Xo!YpS^DPkF_=?9;hR{6j=$Y*MP zRSKr!+6BF$WrxdM6i77gR@aBzINWr+PhvRVgZ}kztFb@)civvi<)c{6i*E>;C(BHz z5SjV+#EK6>0}t{c^f zmr2hA&z9SU9o)zaso$>6U7K%Ox@poTvUAX=<=w9phv;MC8*ilIRD4kAAi9whtJ*Q%2BYx>lWj4xw2hjQM9*L zRK}er%ZoO1zF2{wpQrmr%B)geW#+_M<6d8ror5sw2X*y+8hr7ofnHB?{8B`8kr4b?j}Eo8RFc(A+{>$5=;o&3O+H* zgsm4&XHQeBQD-n#sO@0U-p;8FB0gNIZ!?=MMq!1ztdFknbIKH(4kvo)jj(EXt=Ugi z>3Y=VR+fMBlluiBV|7Ozax*-#1v3J3O)pI1o5GIsPzq%vtJVWIc;6dz)}_&cGV&t^ zG5@$Wx%)-~c3bos1nNf>F5-Kp(62g9)mJyB+;grR;$7SJAaLkZu=7kjcX_Y0FV63a z>yJetpKy=8uM}^V3JsUYWbfEdd9>i)B8=G5zqP$7fR2eh+k0uwvLeKbvTrAkx#WIM zl4SO+&7ivsvb$Gw&>Qzo)JI*aPD|)UX3ndOS0CE9%bYs_5; zZ5ltt90d1o3f)<4DlZW&=(H2Gb?jDOVdY=c&dR@2Mcw}^LxnXGwMG{I9L;ya8jO`e z_V?z&h}g(Zvb?KZqv6&SLHsR0OsPmm7cp0aG6FM}WQKM8LY^-&GpYp9z=9J$;OJ#7 z%87~_G@Gi8`#Jy-jH2dgEv2oRO53+s=J9)&(%dalvR9#CRq>vvfSBu{4*{5ERNXp&KBx89DS4_4MXVIChmZ1o=IY#yL#}_r?lBO zy#ikk^bgWB_AF z6>o`yV8V?T!g7b*a+Wb8{83wj*Uf^Qvq_(1e3JPo$)FW4ntb2Iy(Xs&Y)gjdr8T>%HGw3{~Pc zQ8@=Y%6`4U#r$upZ9N2Gxl~6?pMX(MZcl#W0Tuc>i9Ab)D)9li`i47eQ95D4rUep` z$QPREqVSk0QNE>n%H}=*FcdnEx%|9&4@P#JXGJNNrmS}Vx{ zoomj^3#6?lf9aO-bVEAV783t?1Xe@EH+$ad@F$dSy}#E8%yAghFFJc3kq#?hTq`{X znp!62`7_EYFk!F;om0YLy4baJ)Gz0=4a1(aZRV9bytVAG$AX4{X#ijW=lM!7c^vFq za(KQnu6o~VKxiC6oBUwZC#iH=$SCc2Kn)eSQW>x?4#Z462miBg9qMxQh7xj4?f;}~ z<)0&X!^o{5rv$$RJC5?IPorVmje<&db~0hJ2Hq(TLry;|o5RCw7Yvj}4+K@JXQ~Yb zr-MoBMOed<)TXV8q0eJ7tYD^AN*)Xa4^?(cZS#6%^kYL`g-f_Dd^K1&ij)xnq5}(E?WTtx6T**@A0EneG@nnjO-(f>1VY?SxonJ}47efNEqHEw=0m zuPo;|?N#_##+El|~9 zw#cGWZog$bA$goPQ5HIUA-gxy8*NB;s(~`orSK87@}g)R22D2Evj)1Q^iB6e^>5#| zC9@r3q+aTrXXqgr4*e7wr;2{kOCQxmbHc%9tzVJd^?=bQbBuF~u*``aZMWXz74vIZ zlIx^+7adc)mt-wjqy3x``b@_TK6YP z=wuF7FH zOhUL+q|cDTADA_G2TVWYV{aHBs_yT`CAt^8E8bKeJA9M#yRXMcCs|fh7Byb3=UAxl z+KwJpk;@@y$=sDRJA`B}FIK*NPCO=i|Gp7eUyuBNX19iGcGL|Gq*_w%ZE=^C{#b1g zi>2{u9pMsp^NpC{(`AZCf_U%sfk+iHsFOIM^n<7?k0hn)9BZ1ZSqXv!@1^6$bG0x* z(#x|(8H^8|uInu0Z)>1JXqjdpXuc}UGEM&0p)HFkjq7rToPaPV|ED1&q+1GDIio@^ zbCHhw#xZ|hUhugl{_G>XKEpI8l|Y~l_qw1RtFv@eAS!2|BGyUC_uTZn0P`UqM?(`a zr9w1Gf~u}-2U6DX2RNoiO~Ek*Q=Bz#<#oM)$s?Pj>&IoK`OJ!nKa+nn5xK+IC;gi< zuRq2&lC&W^=L}1Ihi@=C{^WzWjCJt*WJ}5s6wyiA}uUM;TqDQl25`29C`Tu_k4dxDgRd z7(b}hSN#%f0vfxL534$Pr`QCBXSiFtIn`@KhC0i6^r>{i z3a#;5JgY(R?70;Neu-gHqrYRAUPNv%m=i+EM}cWiY}=~RTyA@B4Ku*`Cg?cklt&wM n7EA^G>tAa4M-@1>`6DvUga|Kl2b4N^e&Dg9>V34lNx=UCK`58E literal 0 HcmV?d00001