@authing/react-ui-components 4.0.4-alpha.0 → 4.0.4-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/lib/index.min.css +2 -2
  2. package/lib/index.min.js +1 -1
  3. package/lib/index.min.js.LICENSE.txt +0 -16
  4. package/package.json +2 -3
  5. package/types/AccountMerge/UserRadio.d.ts +5 -0
  6. package/types/AccountMerge/index.d.ts +3 -0
  7. package/types/AccountMerge/interface.d.ts +27 -0
  8. package/types/AccountMerge/utils.d.ts +3 -0
  9. package/types/AuthClientProvider/AuthClientProvider.d.ts +4 -0
  10. package/types/AuthClientProvider/context.d.ts +6 -0
  11. package/types/AuthClientProvider/index.d.ts +1 -0
  12. package/types/Back/index.d.ts +10 -0
  13. package/types/BindTotp/api/constant.d.ts +2 -0
  14. package/types/BindTotp/api/index.d.ts +19 -0
  15. package/types/BindTotp/businessRequest.d.ts +5 -0
  16. package/types/BindTotp/core/bindSuccess.d.ts +6 -0
  17. package/types/BindTotp/core/securityCode.d.ts +8 -0
  18. package/types/BindTotp/index.d.ts +3 -0
  19. package/types/BindTotp/interface.d.ts +20 -0
  20. package/types/ChangeLanguage/index.d.ts +10 -0
  21. package/types/ChangePassword/api/index.d.ts +3 -0
  22. package/types/ChangePassword/businessRequest.d.ts +9 -0
  23. package/types/ChangePassword/core/PasswordNotSafeReset.d.ts +6 -0
  24. package/types/ChangePassword/core/completePassword.d.ts +2 -0
  25. package/types/ChangePassword/core/firstLoginReset.d.ts +6 -0
  26. package/types/ChangePassword/core/rotateReset.d.ts +7 -0
  27. package/types/ChangePassword/index.d.ts +10 -0
  28. package/types/CompleteInfo/api/constant.d.ts +1 -0
  29. package/types/CompleteInfo/api/index.d.ts +4 -0
  30. package/types/CompleteInfo/api/request.d.ts +8 -0
  31. package/types/CompleteInfo/businessRequest.d.ts +9 -0
  32. package/types/CompleteInfo/core/completeInfo.d.ts +11 -0
  33. package/types/CompleteInfo/core/components/TreeSelect.d.ts +11 -0
  34. package/types/CompleteInfo/index.d.ts +11 -0
  35. package/types/CompleteInfo/interface.d.ts +99 -0
  36. package/types/CompleteInfo/utils.d.ts +22 -0
  37. package/types/CopyAbleText/index.d.ts +5 -0
  38. package/types/DownloadAuthenticator/index.d.ts +3 -0
  39. package/types/DownloadAuthenticator/interface.d.ts +12 -0
  40. package/types/Error/index.d.ts +6 -0
  41. package/types/Error/interface.d.ts +8 -0
  42. package/types/ForgetPassword/api/constant.d.ts +1 -0
  43. package/types/ForgetPassword/api/index.d.ts +1 -0
  44. package/types/ForgetPassword/api/request.d.ts +24 -0
  45. package/types/ForgetPassword/core/resetPassword.d.ts +13 -0
  46. package/types/ForgetPassword/index.d.ts +2 -0
  47. package/types/ForgetPassword/interface.d.ts +18 -0
  48. package/types/Guard/Guard.d.ts +10 -0
  49. package/types/Guard/GuardModule/stateMachine.d.ts +38 -0
  50. package/types/Guard/api/constant.d.ts +2 -0
  51. package/types/Guard/api/index.d.ts +13 -0
  52. package/types/Guard/authClient.d.ts +14 -0
  53. package/types/Guard/config.d.ts +27 -0
  54. package/types/Guard/core/componentsMapping.d.ts +8 -0
  55. package/types/Guard/core/hooks/useBusinessRequest.d.ts +14 -0
  56. package/types/Guard/core/hooks/useCss.d.ts +5 -0
  57. package/types/Guard/core/hooks/useEvents.d.ts +15 -0
  58. package/types/Guard/core/hooks/useFDA.d.ts +20 -0
  59. package/types/Guard/core/hooks/useModule.d.ts +16 -0
  60. package/types/Guard/core/hooks/useMultipleAccounts.d.ts +320 -0
  61. package/types/Guard/core/index.d.ts +8 -0
  62. package/types/Guard/core/renderContext.d.ts +7 -0
  63. package/types/Guard/core/renderModule.d.ts +10 -0
  64. package/types/Guard/core/useAppendConfig.d.ts +4 -0
  65. package/types/Guard/core/usePlugin.d.ts +3 -0
  66. package/types/Guard/event.d.ts +88 -0
  67. package/types/Guard/index.d.ts +4 -0
  68. package/types/Guard/module.d.ts +28 -0
  69. package/types/Guard/sso.d.ts +19 -0
  70. package/types/GuardButton/GuardButton.d.ts +6 -0
  71. package/types/GuardButton/index.d.ts +1 -0
  72. package/types/IconFont/iconfont.d.ts +1 -0
  73. package/types/IconFont/index.d.ts +8 -0
  74. package/types/IconFont/useGuardIconfont.d.ts +1 -0
  75. package/types/IdentityBinding/IdentityBinding.d.ts +3 -0
  76. package/types/IdentityBinding/api/index.d.ts +1 -0
  77. package/types/IdentityBinding/api/request.d.ts +1 -0
  78. package/types/IdentityBinding/businessRequest.d.ts +33 -0
  79. package/types/IdentityBinding/index.d.ts +2 -0
  80. package/types/IdentityBinding/interface.d.ts +27 -0
  81. package/types/IdentityBindingAsk/IdentityBindingAsk.d.ts +3 -0
  82. package/types/IdentityBindingAsk/api/index.d.ts +9 -0
  83. package/types/IdentityBindingAsk/index.d.ts +2 -0
  84. package/types/IdentityBindingAsk/interface.d.ts +21 -0
  85. package/types/ImagePro/index.d.ts +14 -0
  86. package/types/InputNumber/index.d.ts +5 -0
  87. package/types/InputPassword/index.d.ts +4 -0
  88. package/types/Login/api/constant.d.ts +6 -0
  89. package/types/Login/api/index.d.ts +1 -0
  90. package/types/Login/api/request.d.ts +114 -0
  91. package/types/Login/codemap.d.ts +2 -0
  92. package/types/Login/core/withAD.d.ts +21 -0
  93. package/types/Login/core/withAppQrcode.d.ts +9 -0
  94. package/types/Login/core/withLDAP.d.ts +22 -0
  95. package/types/Login/core/withPassword/FormItemAccount.d.ts +7 -0
  96. package/types/Login/core/withPassword/GraphicVerifyCode.d.ts +7 -0
  97. package/types/Login/core/withPassword/InputAccount.d.ts +7 -0
  98. package/types/Login/core/withPassword/index.d.ts +28 -0
  99. package/types/Login/core/withVerifyCode/FormItemIdentify.d.ts +11 -0
  100. package/types/Login/core/withVerifyCode/InputInternationPhone.d.ts +7 -0
  101. package/types/Login/core/withVerifyCode/VirtualDropdown.d.ts +12 -0
  102. package/types/Login/core/withVerifyCode/index.d.ts +4 -0
  103. package/types/Login/core/withVerifyCode/inputIdentify.d.ts +7 -0
  104. package/types/Login/core/withWeComQrcode.d.ts +2 -0
  105. package/types/Login/core/withWechatMiniQrcode.d.ts +11 -0
  106. package/types/Login/core/withWechatmpQrcode.d.ts +14 -0
  107. package/types/Login/hooks/useLoginMultiple.d.ts +62 -0
  108. package/types/Login/index.d.ts +3 -0
  109. package/types/Login/interface.d.ts +37 -0
  110. package/types/Login/multipleAccounts/index.d.ts +22 -0
  111. package/types/Login/multipleAccounts/panel.d.ts +45 -0
  112. package/types/Login/socialLogin/IdpButton/index.d.ts +2 -0
  113. package/types/Login/socialLogin/index.d.ts +18 -0
  114. package/types/Login/socialLogin/postMessage.d.ts +7 -0
  115. package/types/MFA/VerifyCodeInput/VerifyCodeFormItem.d.ts +8 -0
  116. package/types/MFA/VerifyCodeInput/index.d.ts +14 -0
  117. package/types/MFA/api/constant.d.ts +6 -0
  118. package/types/MFA/api/index.d.ts +2 -0
  119. package/types/MFA/api/request.d.ts +50 -0
  120. package/types/MFA/businessRequest.d.ts +46 -0
  121. package/types/MFA/codemap.d.ts +2 -0
  122. package/types/MFA/core/email.d.ts +23 -0
  123. package/types/MFA/core/face.d.ts +2 -0
  124. package/types/MFA/core/face_deps.d.ts +11 -0
  125. package/types/MFA/core/sms.d.ts +28 -0
  126. package/types/MFA/core/totp.d.ts +20 -0
  127. package/types/MFA/index.d.ts +9 -0
  128. package/types/MFA/interface.d.ts +40 -0
  129. package/types/MFA/mfaMethods/index.d.ts +8 -0
  130. package/types/NeedHelpView/api/constant.d.ts +1 -0
  131. package/types/NeedHelpView/api/index.d.ts +1 -0
  132. package/types/NeedHelpView/api/request.d.ts +12 -0
  133. package/types/NeedHelpView/core/describeQuestions.d.ts +8 -0
  134. package/types/NeedHelpView/index.d.ts +2 -0
  135. package/types/Qrcode/UiQrCode.d.ts +51 -0
  136. package/types/Qrcode/WorkQrCode.d.ts +41 -0
  137. package/types/Qrcode/api/constant.d.ts +3 -0
  138. package/types/Qrcode/api/index.d.ts +1 -0
  139. package/types/Qrcode/api/request.d.ts +44 -0
  140. package/types/Qrcode/hooks/useImage.d.ts +4 -0
  141. package/types/Qrcode/hooks/usePostQrCode.d.ts +69 -0
  142. package/types/Qrcode/hooks/usePreQrCode.d.ts +31 -0
  143. package/types/Qrcode/hooks/useStatus.d.ts +7 -0
  144. package/types/Qrcode/index.d.ts +7 -0
  145. package/types/RecoveryCode/api/constant.d.ts +1 -0
  146. package/types/RecoveryCode/api/index.d.ts +1 -0
  147. package/types/RecoveryCode/api/request.d.ts +10 -0
  148. package/types/RecoveryCode/businessRequest.d.ts +5 -0
  149. package/types/RecoveryCode/core/saveCode.d.ts +5 -0
  150. package/types/RecoveryCode/core/useCode.d.ts +7 -0
  151. package/types/RecoveryCode/index.d.ts +5 -0
  152. package/types/RecoveryCode/interface.d.ts +8 -0
  153. package/types/Register/api/constant.d.ts +2 -0
  154. package/types/Register/api/index.d.ts +2 -0
  155. package/types/Register/api/request.d.ts +57 -0
  156. package/types/Register/codemap.d.ts +2 -0
  157. package/types/Register/components/Agreements/index.d.ts +11 -0
  158. package/types/Register/core/WithCode.d.ts +17 -0
  159. package/types/Register/core/WithEmail.d.ts +11 -0
  160. package/types/Register/core/WithEmailCode.d.ts +11 -0
  161. package/types/Register/core/WithPhone.d.ts +10 -0
  162. package/types/Register/index.d.ts +2 -0
  163. package/types/Register/interface.d.ts +25 -0
  164. package/types/Register/utils.d.ts +1 -0
  165. package/types/SelfUnlock/api/index.d.ts +1 -0
  166. package/types/SelfUnlock/core/selfUnlock.d.ts +8 -0
  167. package/types/SelfUnlock/index.d.ts +2 -0
  168. package/types/SelfUnlock/interface.d.ts +15 -0
  169. package/types/SendCode/SendCodeBtn.d.ts +10 -0
  170. package/types/SendCode/SendCodeByEmail.d.ts +13 -0
  171. package/types/SendCode/SendCodeByPhone.d.ts +15 -0
  172. package/types/SendCode/api/index.d.ts +1 -0
  173. package/types/SendCode/index.d.ts +9 -0
  174. package/types/ShieldSpin/index.d.ts +7 -0
  175. package/types/SingleComponent/SingleComponent.d.ts +3 -0
  176. package/types/SingleComponent/index.d.ts +3 -0
  177. package/types/SubmitButton/index.d.ts +10 -0
  178. package/types/SubmitSuccess/index.d.ts +2 -0
  179. package/types/SubmitSuccess/interface.d.ts +17 -0
  180. package/types/Type/application.d.ts +265 -0
  181. package/types/Type/index.d.ts +84 -0
  182. package/types/UploadImage/index.d.ts +5 -0
  183. package/types/ValidatorRules/PasswordFormItem.d.ts +6 -0
  184. package/types/ValidatorRules/ValidatorFormItem.d.ts +5 -0
  185. package/types/ValidatorRules/api/index.d.ts +1 -0
  186. package/types/ValidatorRules/index.d.ts +31 -0
  187. package/types/ValidatorRules/useCheckRepeat.d.ts +1 -0
  188. package/types/VerifyCodeInput/index.d.ts +10 -0
  189. package/types/_utils/GuardErrorCode.d.ts +11 -0
  190. package/types/_utils/actions/index.d.ts +23 -0
  191. package/types/_utils/appendConfig.d.ts +4 -0
  192. package/types/_utils/clipboard.d.ts +1 -0
  193. package/types/_utils/config/index.d.ts +96 -0
  194. package/types/_utils/context.d.ts +139 -0
  195. package/types/_utils/corsVerification.d.ts +1 -0
  196. package/types/_utils/countryList.d.ts +7 -0
  197. package/types/_utils/errorFace.d.ts +12 -0
  198. package/types/_utils/facePlugin/index.d.ts +4 -0
  199. package/types/_utils/facePlugin/interface.d.ts +5 -0
  200. package/types/_utils/flowHandleStorage.d.ts +4 -0
  201. package/types/_utils/guardDocument.d.ts +3 -0
  202. package/types/_utils/guardHttp.d.ts +27 -0
  203. package/types/_utils/hooks/index.d.ts +43 -0
  204. package/types/_utils/http/api/constant.d.ts +7 -0
  205. package/types/_utils/http/api/index.d.ts +1 -0
  206. package/types/_utils/http/api/request.d.ts +72 -0
  207. package/types/_utils/http/base/index.d.ts +10 -0
  208. package/types/_utils/http/constant.d.ts +46 -0
  209. package/types/_utils/http/events/index.d.ts +16 -0
  210. package/types/_utils/http/events/modal/login.d.ts +62 -0
  211. package/types/_utils/http/events/modal/register.d.ts +73 -0
  212. package/types/_utils/http/events/utils.d.ts +25 -0
  213. package/types/_utils/http/header/index.d.ts +41 -0
  214. package/types/_utils/http/index.d.ts +6 -0
  215. package/types/_utils/http/instance.d.ts +2 -0
  216. package/types/_utils/http/interceptors/request.d.ts +6 -0
  217. package/types/_utils/http/interceptors/response.d.ts +43 -0
  218. package/types/_utils/http/utils.d.ts +20 -0
  219. package/types/_utils/http.d.ts +33 -0
  220. package/types/_utils/index.d.ts +92 -0
  221. package/types/_utils/initAppId.d.ts +7 -0
  222. package/types/_utils/locales/en-us/index.d.ts +4 -0
  223. package/types/_utils/locales/index.d.ts +7 -0
  224. package/types/_utils/locales/zh-cn/index.d.ts +4 -0
  225. package/types/_utils/locales/zh-tw/index.d.ts +4 -0
  226. package/types/_utils/logger/index.d.ts +15 -0
  227. package/types/_utils/logger/interface.d.ts +5 -0
  228. package/types/_utils/popupCenter.d.ts +9 -0
  229. package/types/_utils/responseManagement/index.d.ts +3 -0
  230. package/types/_utils/responseManagement/interface.d.ts +21 -0
  231. package/types/_utils/useErrorText.d.ts +5 -0
  232. package/types/index.d.ts +6 -0
  233. package/types/version/index.d.ts +2 -0
  234. package/types/version/version.d.ts +2 -0
@@ -0,0 +1,14 @@
1
+ import { AuthenticationClient } from 'authing-js-sdk';
2
+ import { GuardLocalConfig } from './config';
3
+ declare let authClient: AuthenticationClient;
4
+ export declare const initGuardAuthClient: (config: GuardLocalConfig, appId: string, tenantId?: string | undefined) => AuthenticationClient;
5
+ export declare const useInitGuardAuthClient: (props: {
6
+ config?: GuardLocalConfig | undefined;
7
+ appId?: string | undefined;
8
+ authClient?: AuthenticationClient | undefined;
9
+ setError?: any;
10
+ tenantId?: string | undefined;
11
+ }) => AuthenticationClient | undefined;
12
+ export declare const getGuardAuthClient: () => AuthenticationClient;
13
+ export declare const useGuardAuthClient: () => AuthenticationClient;
14
+ export {};
@@ -0,0 +1,27 @@
1
+ import { ReactNode } from 'react';
2
+ import { GuardModuleType } from '.';
3
+ import { LoginConfig } from '../Login/interface';
4
+ import { RegisterConfig } from '../Register/interface';
5
+ export interface GuardComponentConfig extends Partial<GuardLocalConfig> {
6
+ }
7
+ export declare enum QrCodeScanType {
8
+ appQrcode = "appQrcode",
9
+ wechatMiniQrcode = "wechatMiniQrcode",
10
+ wechatmpQrcode = "wechatmpQrcode"
11
+ }
12
+ export interface QrCodeScanOptions {
13
+ qrcode: string;
14
+ }
15
+ export interface GuardLocalConfig extends RegisterConfig, LoginConfig {
16
+ isSSO?: boolean;
17
+ defaultScenes?: GuardModuleType;
18
+ defaultInitData?: any;
19
+ showLoading?: boolean;
20
+ loadingComponent?: ReactNode;
21
+ /**
22
+ * @description 是否调用 eventsMapping 中的事件
23
+ */
24
+ openEventsMapping?: boolean;
25
+ _qrCodeScanOptions?: Record<QrCodeScanType, QrCodeScanOptions>;
26
+ }
27
+ export declare const getDefaultGuardLocalConfig: () => GuardLocalConfig;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { GuardModuleType } from '../module';
3
+ /**
4
+ * 组件映射表
5
+ * TODO: 斟酌下是否和上层 module.ts 放在一起的单个文件夹中 感觉可放可不放
6
+ */
7
+ declare const ComponentsMapping: Record<GuardModuleType, (key: string) => React.ReactNode>;
8
+ export default ComponentsMapping;
@@ -0,0 +1,14 @@
1
+ import { AuthenticationClient } from 'authing-js-sdk';
2
+ import { GuardLocalConfig } from 'components/Guard/config';
3
+ import { GuardEvents } from 'components/Guard/event';
4
+ import { GuardHttp } from 'components/_utils/guardHttp';
5
+ export default function useBusinessRequestByAxios(appId: string | undefined, options: {
6
+ events?: GuardEvents;
7
+ tenantId?: string;
8
+ sdkClient?: AuthenticationClient;
9
+ defaultMergedConfig?: GuardLocalConfig;
10
+ httpClient?: GuardHttp;
11
+ finallyConfig?: any;
12
+ }): {
13
+ axiosClient: boolean | undefined;
14
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 自定义 CSS 相关,finallyConfig 类型待补充
3
+ * @param finallyConfig
4
+ */
5
+ export default function useCss(finallyConfig: any): void;
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { GuardEvents } from '../../event';
3
+ import { GuardProps } from '../../Guard';
4
+ import { StoreInstance } from './useMultipleAccounts';
5
+ /**
6
+ * 初始化事件
7
+ * @param guardProps
8
+ * @param openEventsMapping
9
+ * @returns
10
+ */
11
+ export default function useEvents(guardProps: GuardProps, multipleInstance?: StoreInstance, openEventsMapping?: boolean): {
12
+ events: GuardEvents | undefined;
13
+ setEvents: import("react").Dispatch<import("react").SetStateAction<GuardEvents | undefined>>;
14
+ initEvents: () => void;
15
+ };
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { GuardEvents } from '../../event';
3
+ import { GuardStateMachine, ModuleState } from '../../GuardModule/stateMachine';
4
+ import { GuardModuleType } from '../../module';
5
+ import { ChangeModuleCore } from './useModule';
6
+ /**
7
+ * 初始化 FDA ,后续 Guard 渲染全部按照 FDA API 执行
8
+ * @param onChangeModule FDA 内部更新组件核心方法
9
+ * @param initState 初始化状态
10
+ * @returns { guardStateMachine,setGuardStateMachine }
11
+ */
12
+ export default function useFDA(onChangeModule: ChangeModuleCore, initState: ModuleState, events?: GuardEvents, authFlow?: boolean): {
13
+ isAuthFlow: boolean;
14
+ guardStateMachine: GuardStateMachine | undefined;
15
+ setGuardStateMachine: import("react").Dispatch<import("react").SetStateAction<GuardStateMachine | undefined>>;
16
+ moduleEvents: {
17
+ changeModule: (moduleName: GuardModuleType, initData?: any) => Promise<void>;
18
+ backModule: () => void;
19
+ } | undefined;
20
+ };
@@ -0,0 +1,16 @@
1
+ import { GuardEvents } from '../../event';
2
+ import { ModuleState } from '../../GuardModule/stateMachine';
3
+ import { GuardModuleType } from '../../module';
4
+ export interface ChangeModuleCore {
5
+ (type: GuardModuleType, initData?: any): Promise<void>;
6
+ }
7
+ /**
8
+ * Guard 组件渲染状态
9
+ * @param initializeState 初始化数据
10
+ * @param events Guard 事件对象
11
+ * @returns moduleState 组件当前渲染状态,onChangeModule 切换状态方法
12
+ */
13
+ export default function useModule(initializeState: ModuleState, events?: GuardEvents): {
14
+ moduleState: ModuleState;
15
+ onChangeModule: ChangeModuleCore;
16
+ };
@@ -0,0 +1,320 @@
1
+ /**
2
+ * 整体的思路:
3
+ * 在所有登录方式中,当进行登录时保存登录方式(FE侧自定义)
4
+ * 之后在登录成功(onLogin)中,触发store的方法保存用户信息以及对应的登录方式进入localStorage。
5
+ * 当用户再次打开页面时,拿出数据进行对比。(主要对比 LoginWay ),TODO: 这里的代码主要显得乱的原因是因为枚举的不正当使用。(主要要和Server端进行互相映射,后续维护时可优化)
6
+ *
7
+ * 核心思路:登录成功时,保存的FE侧自定义 LoginWay
8
+ * 再次打开页面时,初始化时先根据 FE 自定义的 LoginWay 跳转到不同的 tab 下(way)下使用 account 进行回填。TODO: 这里也可优化,应该在登录成功时候就进行 LoginWay 的格式化,而非转来转去。(但是这样无法直观的体现是哪种方式进行登录)
9
+ */
10
+ import { SelectOptions } from '../../../Login/multipleAccounts/panel';
11
+ export declare const QR_CODE_WAY: LoginWay[];
12
+ /**
13
+ * 登录时所有支持的登录列表(前端定义列表)
14
+ * 这里稍微有点乱 因为Login中的登录方式和这里的不匹配,暂时放在了一起
15
+ */
16
+ export declare type LoginWay = 'email' | 'phone' | 'password' | 'phone-code' | 'email-code' | 'social' | 'wechat-miniprogram-qrcode' | 'wechatmp-qrcode' | 'app-qrcode' | 'ad' | 'ldap' | 'ldap-password' | 'ldap-email' | 'ldap-phone';
17
+ /**
18
+ * when: 多账号页面跳转进入登录页面
19
+ * 携带的回填数据信息
20
+ */
21
+ export interface BackFillMultipleState extends Omit<User, 'id' | 'name' | 'nickname' | 'username' | 'phone' | 'email' | 'photo' | '_updateTime'> {
22
+ /**
23
+ * 回填的账号名称 邮箱/用户名/手机
24
+ */
25
+ account: string;
26
+ }
27
+ /**
28
+ * Store instance
29
+ */
30
+ export declare type StoreInstance = ReturnType<MultipleAccount['getStore']>;
31
+ /**
32
+ * 当前 userId 对应的类型
33
+ */
34
+ export interface CurrentStore {
35
+ [id: string]: User;
36
+ }
37
+ export interface User {
38
+ /**
39
+ * userId
40
+ */
41
+ id: string;
42
+ /**
43
+ * Tab 栏状态
44
+ */
45
+ tab: 'input' | 'qrcode';
46
+ /**
47
+ * 登录方式
48
+ */
49
+ way: LoginWay;
50
+ /**
51
+ * 姓名
52
+ */
53
+ name?: string | null;
54
+ /**
55
+ * 昵称
56
+ */
57
+ nickname?: string | null;
58
+ /**
59
+ * 用户名
60
+ */
61
+ username?: string | null;
62
+ /**
63
+ * 手机号
64
+ */
65
+ phone?: string | null;
66
+ /**
67
+ * 邮箱
68
+ */
69
+ email?: string | null;
70
+ /**
71
+ * 头像
72
+ */
73
+ photo?: string | null;
74
+ /**
75
+ * qrCodeId 对应的ID
76
+ */
77
+ qrCodeId?: string;
78
+ /**
79
+ * 国际化短信区号
80
+ */
81
+ phoneCountryCode?: string;
82
+ /**
83
+ * 国际化短信选择框回填
84
+ */
85
+ areaCode?: string;
86
+ /**
87
+ * 登录时间
88
+ */
89
+ _updateTime?: string;
90
+ }
91
+ declare class MultipleAccount {
92
+ /**
93
+ * 原始的登录账号
94
+ */
95
+ private originAccount;
96
+ private originWay;
97
+ /**
98
+ * 原始的 localStore 值
99
+ */
100
+ private originStore;
101
+ /**
102
+ * 当前 AppId Store
103
+ */
104
+ private currentStore;
105
+ /**
106
+ * 单账号直接回填
107
+ */
108
+ private firstBackFillData?;
109
+ /**
110
+ * server 返回支持的登录方式
111
+ */
112
+ private serverSideLoginMethods;
113
+ /**
114
+ * 是否显示多账号登录页面
115
+ * true 存在
116
+ */
117
+ private memberState;
118
+ /**
119
+ * 二维码登录时的ID
120
+ */
121
+ private qrCodeId?;
122
+ /**
123
+ * 国际化短信前缀 区号
124
+ */
125
+ private phoneCountryCode?;
126
+ /**
127
+ * 国际化短信前缀 选中地区编号
128
+ */
129
+ private areaCode?;
130
+ private tabStatus?;
131
+ /**
132
+ * 当前登录二级状态
133
+ */
134
+ private loginWay?;
135
+ private appId;
136
+ /**
137
+ * 是否开启国际化短信
138
+ */
139
+ private isInternationSms?;
140
+ constructor();
141
+ /**
142
+ * 页面首次加载时初始化 Store
143
+ * 从 LocalStore 中拿值 放到这里来
144
+ */
145
+ private initStore;
146
+ /**
147
+ * 初始化记住账号相关信息
148
+ * @param normalCount
149
+ * @returns
150
+ */
151
+ private initMemberState;
152
+ /**
153
+ * 获取当前ID下有效账号个数
154
+ * @returns qrCount 有效的二维码登录个数 normalCount 有效的账号登录方式
155
+ */
156
+ private memberStateCount;
157
+ /**
158
+ * 初始化第一次的数据 TODO: 逻辑有点脏 待整理
159
+ */
160
+ private initBackfillData;
161
+ /**
162
+ * 根据前端存储的登录方式返回后端映射方式
163
+ * @param front
164
+ */
165
+ private getServerLoginMethodByFront;
166
+ /**
167
+ * 当前 Store DONE
168
+ */
169
+ private getCurrentStore;
170
+ /**
171
+ * 国际化短信过滤
172
+ * true 表示通过 需要保留
173
+ * false 表示不通过 需要过滤
174
+ */
175
+ private validateInternationSms;
176
+ /**
177
+ * 校验有效的登录方式账号
178
+ * @param user
179
+ * @param serverSideLoginMethods
180
+ * @returns
181
+ */
182
+ private validateMethod;
183
+ /**
184
+ *
185
+ * @param tab 一级Tab状态
186
+ * @param way 二级Tab状态
187
+ * @param id 二维码登录时 记录对应的二维码 ID
188
+ */
189
+ private setLoginWay;
190
+ /**
191
+ * 设置/更新 store 内的用户信息
192
+ */
193
+ private setUserInfo;
194
+ /**
195
+ * 持久化保存
196
+ */
197
+ private saveStore;
198
+ /**
199
+ * 根据登录的 account 判断本次登录的方式
200
+ * @param account 登录输入的账号
201
+ * @param param1 登录成功返回的相关信息 用户名/手机号/邮箱
202
+ * @returns
203
+ */
204
+ private setLoginWayByHttpData;
205
+ /**
206
+ * 根据登录的 account 判断本次LDAP登录方式
207
+ * @param account 登录输入的账号
208
+ * @param param1 登录成功返回的相关信息 用户名/手机号/邮箱
209
+ * @returns
210
+ */
211
+ private setLoginWayByLDAPData;
212
+ /**
213
+ * 根据用户 ID 删除 localStorage 中当前用户 ID
214
+ */
215
+ private delUserById;
216
+ /**
217
+ * 获得多账号登录页面的所有用户列表
218
+ * @param excludeWays
219
+ */
220
+ private getMemoUser;
221
+ /**
222
+ * 根据 id 获得当前已登录的用户信息
223
+ * @param userId
224
+ * @returns User / undefined
225
+ */
226
+ private getMemoSingleUser;
227
+ /**
228
+ * 该方法仅仅需要回填账号的登录方式,其他都不计入
229
+ * 当用户名/手机号/邮箱/AD/LDAP 相同时,根据登录顺序匹配不同的账号
230
+ * 根据记住的用户登录方式获取对应的登录账户名
231
+ * @param way
232
+ * @param user
233
+ * @returns
234
+ */
235
+ private getAccountByWay;
236
+ private _mappingUser;
237
+ /**
238
+ * 外部暴露方法
239
+ */
240
+ getStore: () => {
241
+ initStore: (appId: string, options: {
242
+ serverSideLoginMethods: LoginWay[];
243
+ isInternationSms: boolean;
244
+ }) => void;
245
+ setLoginWay: (tab: 'input' | 'qrcode', way: LoginWay, id?: string | undefined, internation?: {
246
+ phoneCountryCode: string;
247
+ areaCode: string;
248
+ } | undefined) => void;
249
+ setUserInfo: (user: Pick<User & {
250
+ id: string;
251
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
252
+ setLoginWayByHttpData: (account: string, data: {
253
+ username?: string | undefined;
254
+ phone?: string | undefined;
255
+ email?: string | undefined;
256
+ }) => void;
257
+ setLoginWayByLDAPData: (account: string, data: {
258
+ name?: string | undefined;
259
+ phone?: string | undefined;
260
+ email?: string | undefined;
261
+ }) => void;
262
+ getMemoUser: (excludeWays?: LoginWay[]) => SelectOptions[];
263
+ getMemoSingleUser: (id: string) => {
264
+ way: LoginWay;
265
+ account: string;
266
+ } | undefined;
267
+ delUserById: (id: string) => string;
268
+ getMemberState: () => boolean;
269
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
270
+ getOriginAccount: () => string;
271
+ getOriginWay: () => string;
272
+ };
273
+ }
274
+ /**
275
+ * MultipleAccounts 相关 Hook
276
+ * Finally Config 类型过滤
277
+ */
278
+ declare const useMultipleAccounts: ({ appId, finallyConfig, }: {
279
+ appId?: string | undefined;
280
+ finallyConfig?: any;
281
+ }) => {
282
+ instance: {
283
+ initStore: (appId: string, options: {
284
+ serverSideLoginMethods: LoginWay[];
285
+ isInternationSms: boolean;
286
+ }) => void;
287
+ setLoginWay: (tab: 'input' | 'qrcode', way: LoginWay, id?: string | undefined, internation?: {
288
+ phoneCountryCode: string;
289
+ areaCode: string;
290
+ } | undefined) => void;
291
+ setUserInfo: (user: Pick<User & {
292
+ id: string;
293
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
294
+ setLoginWayByHttpData: (account: string, data: {
295
+ username?: string | undefined;
296
+ phone?: string | undefined;
297
+ email?: string | undefined;
298
+ }) => void;
299
+ setLoginWayByLDAPData: (account: string, data: {
300
+ name?: string | undefined;
301
+ phone?: string | undefined;
302
+ email?: string | undefined;
303
+ }) => void;
304
+ getMemoUser: (excludeWays?: LoginWay[]) => SelectOptions[];
305
+ getMemoSingleUser: (id: string) => {
306
+ way: LoginWay;
307
+ account: string;
308
+ } | undefined;
309
+ delUserById: (id: string) => string;
310
+ getMemberState: () => boolean;
311
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
312
+ getOriginAccount: () => string;
313
+ getOriginWay: () => string;
314
+ } | undefined;
315
+ isMultipleAccount: boolean;
316
+ referMultipleState: (type: 'login' | 'multiple', data?: BackFillMultipleState | undefined) => void;
317
+ multipleAccountData: BackFillMultipleState | undefined;
318
+ clearBackFillData: () => void;
319
+ };
320
+ export default useMultipleAccounts;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { GuardProps } from '..';
3
+ import { ModuleState } from '../GuardModule/stateMachine';
4
+ export interface GuardCoreProps {
5
+ guardProps: GuardProps;
6
+ initState: ModuleState;
7
+ }
8
+ export declare const GuardCore: (props: GuardCoreProps) => JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { GuardProps } from '..';
2
+ import React from 'react';
3
+ import { ModuleState } from '../GuardModule/stateMachine';
4
+ export declare const RenderContext: React.FC<{
5
+ guardProps: GuardProps;
6
+ initState: ModuleState;
7
+ }>;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { GuardProps } from '..';
3
+ import '../styles.less';
4
+ export declare enum LangMAP {
5
+ zhCn = "zh-CN",
6
+ enUs = "en-US"
7
+ }
8
+ export declare const RenderModule: React.FC<{
9
+ guardProps: GuardProps;
10
+ }>;
@@ -0,0 +1,4 @@
1
+ import { GuardAppendConfig } from '../..';
2
+ export declare const getGuardWindow: () => (Window & typeof globalThis) | undefined;
3
+ export declare const useGuardWindow: () => (Window & typeof globalThis) | undefined;
4
+ export declare const useInitGuardAppendConfig: (setForceUpdate: any, appId?: string | undefined, appendConfig?: GuardAppendConfig | undefined) => void;
@@ -0,0 +1,3 @@
1
+ import { FacePlugin } from '../../_utils/facePlugin/interface';
2
+ export declare const useGuardPlugin: any;
3
+ export declare const useGuardFacePlugin: (facePlugin?: FacePlugin | undefined) => boolean;
@@ -0,0 +1,88 @@
1
+ import { GuardModuleType } from '.';
2
+ import { CompleteInfoEvents } from '../CompleteInfo/interface';
3
+ import { ForgetPasswordEvents } from '../ForgetPassword/interface';
4
+ import { IdentityBindingEvents } from '../IdentityBinding/interface';
5
+ import { IdentityBindingAskEvents } from '../IdentityBindingAsk';
6
+ import { LoginEvents } from '../Login/interface';
7
+ import { RegisterEvents } from '../Register/interface';
8
+ export interface GuardEvents extends LoginEvents, RegisterEvents, CompleteInfoEvents, ForgetPasswordEvents, IdentityBindingEvents, IdentityBindingAskEvents {
9
+ onBeforeChangeModule?: (key: GuardModuleType, initData?: any) => boolean | Promise<boolean>;
10
+ }
11
+ export declare const guardEventsFilter: (props: any, multipleInstance?: {
12
+ initStore: (appId: string, options: {
13
+ serverSideLoginMethods: import("./core/hooks/useMultipleAccounts").LoginWay[];
14
+ isInternationSms: boolean;
15
+ }) => void;
16
+ setLoginWay: (tab: "input" | "qrcode", way: import("./core/hooks/useMultipleAccounts").LoginWay, id?: string | undefined, internation?: {
17
+ phoneCountryCode: string;
18
+ areaCode: string;
19
+ } | undefined) => void;
20
+ setUserInfo: (user: Pick<import("./core/hooks/useMultipleAccounts").User & {
21
+ id: string;
22
+ }, "email" | "username" | "phone" | "photo" | "id" | "name" | "nickname" | "_updateTime" | "qrCodeId" | "areaCode">) => void;
23
+ setLoginWayByHttpData: (account: string, data: {
24
+ username?: string | undefined;
25
+ phone?: string | undefined;
26
+ email?: string | undefined;
27
+ }) => void;
28
+ setLoginWayByLDAPData: (account: string, data: {
29
+ name?: string | undefined;
30
+ phone?: string | undefined;
31
+ email?: string | undefined;
32
+ }) => void;
33
+ getMemoUser: (excludeWays?: import("./core/hooks/useMultipleAccounts").LoginWay[]) => import("../Login/multipleAccounts/panel").SelectOptions[];
34
+ getMemoSingleUser: (id: string) => {
35
+ way: import("./core/hooks/useMultipleAccounts").LoginWay;
36
+ account: string;
37
+ } | undefined;
38
+ delUserById: (id: string) => string;
39
+ getMemberState: () => boolean;
40
+ getFirstBackFillData: () => import("./core/hooks/useMultipleAccounts").BackFillMultipleState | undefined;
41
+ getOriginAccount: () => string;
42
+ getOriginWay: () => string;
43
+ } | undefined, openEventsMapping?: boolean | undefined) => GuardEvents;
44
+ export declare const guardEventsHijacking: (events: GuardEvents, openEventsMapping?: boolean | undefined) => GuardEvents;
45
+ export declare const GuardEventsCamelToKebabMapping: {
46
+ readonly onLoad: "load";
47
+ readonly onLoadError: "load-error";
48
+ readonly onLogin: "login";
49
+ readonly onBeforeLogin: "before-login";
50
+ readonly onLoginError: "login-error";
51
+ readonly onRegister: "register";
52
+ readonly onBeforeRegister: "before-register";
53
+ readonly onRegisterError: "register-error";
54
+ readonly onPwdEmailSend: "pwd-email-send";
55
+ readonly onPwdEmailSendError: "pwd-email-send-error";
56
+ readonly onPwdPhoneSend: "pwd-phone-send";
57
+ readonly onPwdPhoneSendError: "pwd-phone-send-error";
58
+ readonly onPwdReset: "pwd-reset";
59
+ readonly onPwdResetError: "pwd-reset-error";
60
+ readonly onClose: "close";
61
+ readonly onLoginTabChange: "login-tab-change";
62
+ readonly onRegisterTabChange: "register-tab-change";
63
+ readonly onRegisterInfoCompleted: "register-info-completed";
64
+ readonly onRegisterInfoCompletedError: "register-info-completed-error";
65
+ readonly onLangChange: "lang-change";
66
+ };
67
+ export interface GuardEventsKebabToCamelType {
68
+ load: GuardEvents['onLoad'];
69
+ 'load-error': GuardEvents['onLoadError'];
70
+ 'before-login': GuardEvents['onBeforeLogin'];
71
+ login: GuardEvents['onLogin'];
72
+ 'login-error': GuardEvents['onLoginError'];
73
+ 'before-register': GuardEvents['onBeforeRegister'];
74
+ register: GuardEvents['onRegister'];
75
+ 'register-error': GuardEvents['onRegisterError'];
76
+ 'pwd-email-send': GuardEvents['onPwdEmailSend'];
77
+ 'pwd-email-send-error': GuardEvents['onPwdEmailSendError'];
78
+ 'pwd-phone-send': GuardEvents['onPwdPhoneSend'];
79
+ 'pwd-phone-send-error': GuardEvents['onPwdPhoneSendError'];
80
+ 'pwd-reset': GuardEvents['onPwdReset'];
81
+ 'pwd-reset-error': GuardEvents['onPwdResetError'];
82
+ close: GuardEvents['onClose'];
83
+ 'login-tab-change': GuardEvents['onLoginTabChange'];
84
+ 'register-tab-change': GuardEvents['onRegisterTabChange'];
85
+ 'register-info-completed': GuardEvents['onRegisterInfoCompleted'];
86
+ 'register-info-completed-error': GuardEvents['onRegisterInfoCompletedError'];
87
+ 'lang-change': GuardEvents['onLangChange'];
88
+ }
@@ -0,0 +1,4 @@
1
+ export * from './Guard';
2
+ export * from './module';
3
+ export * from './event';
4
+ export * from './config';
@@ -0,0 +1,28 @@
1
+ export declare enum GuardModuleType {
2
+ ERROR = "error",
3
+ LOGIN = "login",
4
+ REGISTER = "register",
5
+ MFA = "mfa",
6
+ FORGET_PWD = "forgetPassword",
7
+ FORCED_PASSWORD_RESET = "forcedPasswordReset",
8
+ NOTICE_PASSWORD_RESET = "noticePasswordReset",
9
+ FIRST_LOGIN_PASSWORD = "firstLoginPassword",
10
+ UNSAFE_PASSWORD_RESET = "unsafePasswordReset",
11
+ DOWNLOAD_AT = "downloadAT",
12
+ BIND_TOTP = "bindTotp",
13
+ ANY_QUESTIONS = "anyQuestions",
14
+ LOGIN_COMPLETE_INFO = "loginCompleteInfo",
15
+ REGISTER_PASSWORD = "registerPassword",
16
+ REGISTER_COMPLETE_INFO = "registerCompleteInfo",
17
+ RECOVERY_CODE = "recoveryCode",
18
+ SUBMIT_SUCCESS = "submitSuccess",
19
+ IDENTITY_BINDING_ASK = "identityBindingAsk",
20
+ IDENTITY_BINDING = "identityBinding",
21
+ SELF_UNLOCK = "selfUnlock"
22
+ }
23
+ export interface GuardModuleAction {
24
+ action: string;
25
+ module?: GuardModuleType;
26
+ message?: string;
27
+ initData?: any;
28
+ }
@@ -0,0 +1,19 @@
1
+ import { User } from 'authing-js-sdk';
2
+ export interface SessionData {
3
+ session: null | {
4
+ _id: string;
5
+ cookie: {
6
+ originalMaxAge: number;
7
+ expires: Date;
8
+ secure: boolean;
9
+ httpOnly: boolean;
10
+ path: string;
11
+ sameSite: string;
12
+ };
13
+ appId?: string;
14
+ type: string;
15
+ userId: string;
16
+ };
17
+ userInfo?: User;
18
+ }
19
+ export declare const trackSession: () => Promise<import("../_utils/http").AuthingGuardResponse<SessionData>>;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from 'antd/lib/button';
3
+ import './styles.less';
4
+ export interface GuardButtonProps extends ButtonProps {
5
+ }
6
+ export declare const GuardButton: React.FC<GuardButtonProps>;
@@ -0,0 +1 @@
1
+ export * from './GuardButton';
@@ -0,0 +1 @@
1
+ export declare const GenerateSvg: (guardDocument: Document, svgString: string) => void;
@@ -0,0 +1,8 @@
1
+ import React, { FC } from 'react';
2
+ import './iconfont';
3
+ import './style.less';
4
+ export declare const IconFont: FC<{
5
+ type: string;
6
+ style?: React.CSSProperties;
7
+ className?: string;
8
+ }>;
@@ -0,0 +1 @@
1
+ export declare const useGuardIconfont: (cdnBase?: string | undefined, setError?: any) => boolean;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import './styles.less';
3
+ export declare const GuardIdentityBindingView: React.FC;
@@ -0,0 +1 @@
1
+ export * from './request';