@authing/react18-ui-components 4.4.0-alpha.7 → 4.4.0-alpha.71

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 (204) hide show
  1. package/README.md +33 -0
  2. package/lib/index.min.css +2 -0
  3. package/lib/index.min.js +2 -0
  4. package/lib/index.min.js.LICENSE.txt +195 -0
  5. package/lib/static/media/loading.3cf0104f.svg +32 -0
  6. package/package.json +233 -14
  7. package/types/AuthClientProvider/AuthClientProvider.d.ts +6 -0
  8. package/types/AuthClientProvider/context.d.ts +6 -0
  9. package/types/AuthClientProvider/index.d.ts +1 -0
  10. package/types/Back/index.d.ts +12 -0
  11. package/types/BindTotp/businessRequest.d.ts +5 -0
  12. package/types/BindTotp/core/bindSuccess.d.ts +6 -0
  13. package/types/BindTotp/core/securityCode.d.ts +8 -0
  14. package/types/BindTotp/index.d.ts +3 -0
  15. package/types/BindTotp/interface.d.ts +20 -0
  16. package/types/ChangeLanguage/index.d.ts +9 -0
  17. package/types/ChangePassword/businessRequest.d.ts +9 -0
  18. package/types/ChangePassword/core/PasswordNotSafeReset.d.ts +6 -0
  19. package/types/ChangePassword/core/completePassword.d.ts +2 -0
  20. package/types/ChangePassword/core/firstLoginReset.d.ts +6 -0
  21. package/types/ChangePassword/core/rotateReset.d.ts +6 -0
  22. package/types/ChangePassword/index.d.ts +11 -0
  23. package/types/CompleteInfo/businessRequest.d.ts +9 -0
  24. package/types/CompleteInfo/core/completeInfo.d.ts +11 -0
  25. package/types/CompleteInfo/index.d.ts +11 -0
  26. package/types/CompleteInfo/interface.d.ts +100 -0
  27. package/types/CompleteInfo/utils.d.ts +18 -0
  28. package/types/CopyAbleText/index.d.ts +5 -0
  29. package/types/DownloadAuthenticator/index.d.ts +3 -0
  30. package/types/DownloadAuthenticator/interface.d.ts +12 -0
  31. package/types/Error/index.d.ts +6 -0
  32. package/types/Error/interface.d.ts +8 -0
  33. package/types/ForgetPassword/InputPassword/index.d.ts +3 -0
  34. package/types/ForgetPassword/core/inputIdentify.d.ts +7 -0
  35. package/types/ForgetPassword/core/resetPassword.d.ts +16 -0
  36. package/types/ForgetPassword/index.d.ts +2 -0
  37. package/types/ForgetPassword/interface.d.ts +19 -0
  38. package/types/Guard/Guard.d.ts +10 -0
  39. package/types/Guard/GuardModule/stateMachine.d.ts +38 -0
  40. package/types/Guard/authClient.d.ts +14 -0
  41. package/types/Guard/config.d.ts +17 -0
  42. package/types/Guard/core/hooks/useAgreements.d.ts +14 -0
  43. package/types/Guard/core/hooks/useGuardView.d.ts +7 -0
  44. package/types/Guard/core/hooks/useMultipleAccounts.d.ts +324 -0
  45. package/types/Guard/core/index.d.ts +7 -0
  46. package/types/Guard/core/renderContext.d.ts +8 -0
  47. package/types/Guard/core/renderModule.d.ts +11 -0
  48. package/types/Guard/core/useAppendConfig.d.ts +4 -0
  49. package/types/Guard/core/usePlugin.d.ts +3 -0
  50. package/types/Guard/event.d.ts +69 -0
  51. package/types/Guard/index.d.ts +4 -0
  52. package/types/Guard/module.d.ts +35 -0
  53. package/types/Guard/sso.d.ts +19 -0
  54. package/types/GuardButton/GuardButton.d.ts +6 -0
  55. package/types/GuardButton/index.d.ts +1 -0
  56. package/types/GuardFace/index.d.ts +16 -0
  57. package/types/GuardSelect/index.d.ts +29 -0
  58. package/types/IconFont/iconfont.d.ts +1 -0
  59. package/types/IconFont/index.d.ts +8 -0
  60. package/types/IconFont/useGuardIconfont.d.ts +1 -0
  61. package/types/IdentityBinding/IdentityBinding.d.ts +5 -0
  62. package/types/IdentityBinding/businessRequest.d.ts +36 -0
  63. package/types/IdentityBinding/index.d.ts +2 -0
  64. package/types/IdentityBinding/interface.d.ts +27 -0
  65. package/types/IdentityBindingAsk/IdentityBindingAsk.d.ts +3 -0
  66. package/types/IdentityBindingAsk/index.d.ts +2 -0
  67. package/types/IdentityBindingAsk/interface.d.ts +21 -0
  68. package/types/ImagePro/index.d.ts +15 -0
  69. package/types/InputNumber/index.d.ts +5 -0
  70. package/types/InputPassword/index.d.ts +1 -0
  71. package/types/LazyloadImage/index.d.ts +12 -0
  72. package/types/Login/codemap.d.ts +2 -0
  73. package/types/Login/core/withAD.d.ts +20 -0
  74. package/types/Login/core/withAppQrcode.d.ts +8 -0
  75. package/types/Login/core/withAuthingOtpPush/BeforeLogin.d.ts +17 -0
  76. package/types/Login/core/withAuthingOtpPush/HowBindClient.d.ts +1 -0
  77. package/types/Login/core/withAuthingOtpPush/HowGetAppLoginUrl.d.ts +1 -0
  78. package/types/Login/core/withAuthingOtpPush/HowUsePushLogin.d.ts +1 -0
  79. package/types/Login/core/withAuthingOtpPush/PendingLogin.d.ts +6 -0
  80. package/types/Login/core/withAuthingOtpPush/PushLoginGuideModal.d.ts +2 -0
  81. package/types/Login/core/withAuthingOtpPush/PushLoginGuideSelector.d.ts +8 -0
  82. package/types/Login/core/withAuthingOtpPush/index.d.ts +2 -0
  83. package/types/Login/core/withAuthingOtpPush/types.d.ts +28 -0
  84. package/types/Login/core/withLDAP.d.ts +21 -0
  85. package/types/Login/core/withPassword/FormItemAccount.d.ts +6 -0
  86. package/types/Login/core/withPassword/GraphicVerifyCode.d.ts +7 -0
  87. package/types/Login/core/withPassword/InputAccount.d.ts +7 -0
  88. package/types/Login/core/withPassword/index.d.ts +27 -0
  89. package/types/Login/core/withVerifyCode/FormItemIdentify.d.ts +11 -0
  90. package/types/Login/core/withVerifyCode/InputInternationPhone.d.ts +7 -0
  91. package/types/Login/core/withVerifyCode/VirtualDropdown.d.ts +12 -0
  92. package/types/Login/core/withVerifyCode/index.d.ts +3 -0
  93. package/types/Login/core/withVerifyCode/inputIdentify.d.ts +7 -0
  94. package/types/Login/core/withWechatMiniQrcode.d.ts +10 -0
  95. package/types/Login/core/withWechatmpQrcode.d.ts +13 -0
  96. package/types/Login/hooks/useLoginMultiple.d.ts +65 -0
  97. package/types/Login/index.d.ts +5 -0
  98. package/types/Login/interface.d.ts +41 -0
  99. package/types/Login/multipleAccounts/index.d.ts +22 -0
  100. package/types/Login/multipleAccounts/panel.d.ts +46 -0
  101. package/types/Login/resetAccountName/businessRequest.d.ts +6 -0
  102. package/types/Login/resetAccountName/index.d.ts +3 -0
  103. package/types/Login/socialLogin/IdpButton/index.d.ts +1 -0
  104. package/types/Login/socialLogin/index.d.ts +18 -0
  105. package/types/Login/socialLogin/postMessage.d.ts +7 -0
  106. package/types/MFA/VerifyCodeInput/VerifyCodeFormItem.d.ts +8 -0
  107. package/types/MFA/VerifyCodeInput/index.d.ts +14 -0
  108. package/types/MFA/businessRequest.d.ts +46 -0
  109. package/types/MFA/codemap.d.ts +2 -0
  110. package/types/MFA/core/email.d.ts +23 -0
  111. package/types/MFA/core/face.d.ts +1 -0
  112. package/types/MFA/core/face_deps.d.ts +11 -0
  113. package/types/MFA/core/sms.d.ts +28 -0
  114. package/types/MFA/core/totp.d.ts +20 -0
  115. package/types/MFA/index.d.ts +9 -0
  116. package/types/MFA/interface.d.ts +43 -0
  117. package/types/MFA/mfaMethods/index.d.ts +8 -0
  118. package/types/NeedHelpView/core/describeQuestions.d.ts +7 -0
  119. package/types/NeedHelpView/index.d.ts +1 -0
  120. package/types/NewSubmitSuccess/index.d.ts +2 -0
  121. package/types/NewSubmitSuccess/interface.d.ts +19 -0
  122. package/types/Qrcode/UiQrCode.d.ts +51 -0
  123. package/types/Qrcode/WorkQrCode.d.ts +41 -0
  124. package/types/Qrcode/hooks/useImage.d.ts +4 -0
  125. package/types/Qrcode/hooks/usePostQrCode.d.ts +72 -0
  126. package/types/Qrcode/hooks/usePreQrCode.d.ts +31 -0
  127. package/types/Qrcode/hooks/useStatus.d.ts +8 -0
  128. package/types/Qrcode/index.d.ts +7 -0
  129. package/types/RecoveryCode/businessRequest.d.ts +5 -0
  130. package/types/RecoveryCode/core/saveCode.d.ts +5 -0
  131. package/types/RecoveryCode/core/useCode.d.ts +7 -0
  132. package/types/RecoveryCode/index.d.ts +5 -0
  133. package/types/RecoveryCode/interface.d.ts +8 -0
  134. package/types/Register/codemap.d.ts +2 -0
  135. package/types/Register/components/Agreements/index.d.ts +11 -0
  136. package/types/Register/core/WithCode.d.ts +17 -0
  137. package/types/Register/core/WithEmail.d.ts +13 -0
  138. package/types/Register/core/WithEmailCode.d.ts +11 -0
  139. package/types/Register/core/WithPhone.d.ts +10 -0
  140. package/types/Register/index.d.ts +2 -0
  141. package/types/Register/interface.d.ts +25 -0
  142. package/types/Register/utils.d.ts +1 -0
  143. package/types/SelectAccount/index.d.ts +2 -0
  144. package/types/SelectAccount2Login/index.d.ts +2 -0
  145. package/types/SelfUnlock/core/selfUnlock.d.ts +8 -0
  146. package/types/SelfUnlock/index.d.ts +2 -0
  147. package/types/SelfUnlock/interface.d.ts +15 -0
  148. package/types/SendCode/SendCodeBtn.d.ts +10 -0
  149. package/types/SendCode/SendCodeByEmail.d.ts +13 -0
  150. package/types/SendCode/SendCodeByPhone.d.ts +15 -0
  151. package/types/SendCode/index.d.ts +9 -0
  152. package/types/ShieldSpin/index.d.ts +6 -0
  153. package/types/SingleComponent/SingleComponent.d.ts +2 -0
  154. package/types/SingleComponent/index.d.ts +3 -0
  155. package/types/SubmitButton/index.d.ts +10 -0
  156. package/types/SubmitSuccess/index.d.ts +2 -0
  157. package/types/SubmitSuccess/interface.d.ts +17 -0
  158. package/types/TenantPortalSelect/index.d.ts +2 -0
  159. package/types/TenantPortalSelect/interface.d.ts +33 -0
  160. package/types/Type/application.d.ts +337 -0
  161. package/types/Type/index.d.ts +87 -0
  162. package/types/UploadImage/index.d.ts +5 -0
  163. package/types/ValidatorRules/PasswordFormItem.d.ts +6 -0
  164. package/types/ValidatorRules/ValidatorFormItem.d.ts +8 -0
  165. package/types/ValidatorRules/index.d.ts +32 -0
  166. package/types/ValidatorRules/useCheckRepeat.d.ts +1 -0
  167. package/types/VerifyCodeInput/index.d.ts +10 -0
  168. package/types/_utils/GuardErrorCode.d.ts +12 -0
  169. package/types/_utils/appendConfig.d.ts +4 -0
  170. package/types/_utils/clipboard.d.ts +1 -0
  171. package/types/_utils/config/index.d.ts +110 -0
  172. package/types/_utils/context.d.ts +160 -0
  173. package/types/_utils/corsVerification.d.ts +1 -0
  174. package/types/_utils/countryList.d.ts +7 -0
  175. package/types/_utils/errorFace.d.ts +12 -0
  176. package/types/_utils/facePlugin/index.d.ts +4 -0
  177. package/types/_utils/facePlugin/interface.d.ts +5 -0
  178. package/types/_utils/flowHandleStorage.d.ts +4 -0
  179. package/types/_utils/getCaptchaUrl.d.ts +1 -0
  180. package/types/_utils/guardDocument.d.ts +3 -0
  181. package/types/_utils/guardHttp.d.ts +28 -0
  182. package/types/_utils/hooks/index.d.ts +43 -0
  183. package/types/_utils/http.d.ts +33 -0
  184. package/types/_utils/index.d.ts +99 -0
  185. package/types/_utils/initAppId.d.ts +7 -0
  186. package/types/_utils/locales/en-us/index.d.ts +4 -0
  187. package/types/_utils/locales/index.d.ts +8 -0
  188. package/types/_utils/locales/ja-jp/index.d.ts +4 -0
  189. package/types/_utils/locales/zh-cn/index.d.ts +4 -0
  190. package/types/_utils/locales/zh-tw/index.d.ts +4 -0
  191. package/types/_utils/logger/index.d.ts +15 -0
  192. package/types/_utils/logger/interface.d.ts +5 -0
  193. package/types/_utils/popupCenter.d.ts +9 -0
  194. package/types/_utils/responseManagement/index.d.ts +3 -0
  195. package/types/_utils/responseManagement/interface.d.ts +26 -0
  196. package/types/_utils/tenant.d.ts +19 -0
  197. package/types/_utils/useErrorText.d.ts +5 -0
  198. package/types/index.d.ts +7 -0
  199. package/types/version/index.d.ts +2 -0
  200. package/types/version/version.d.ts +2 -0
  201. package/dist/esm/guard.min.css +0 -2
  202. package/dist/esm/guard.min.js +0 -2
  203. package/dist/esm/guard.min.js.LICENSE.txt +0 -188
  204. package/dist/typings/index.d.ts +0 -2
@@ -0,0 +1,65 @@
1
+ /// <reference types="react" />
2
+ import { FormInstance } from 'antd/lib/form';
3
+ import { BackFillMultipleState, LoginWay } from '../../Guard/core/hooks/useMultipleAccounts';
4
+ /**
5
+ * 多账号登录下 账户 & 登录方式自动回填
6
+ * TODO: HOOK 参数有时间整理成为对象,开始没有想到有这么多
7
+ * 调用地方 core 中需要回填的两个登录方式
8
+ */
9
+ declare function useLoginMultipleBackFill(options: {
10
+ form: FormInstance<any>;
11
+ way: LoginWay;
12
+ formKey: string;
13
+ backfillData?: BackFillMultipleState;
14
+ isOnlyInternationSms?: boolean;
15
+ setAreaCode?: React.Dispatch<React.SetStateAction<string>>;
16
+ cancelBackfill?: boolean;
17
+ changeCurrentMethod?: (account: string) => void;
18
+ }): void;
19
+ /**
20
+ * 多账号统一状态管理
21
+ * @param setLoginWay
22
+ * @returns
23
+ */
24
+ declare function useLoginMultiple(setLoginWay: React.Dispatch<any>): {
25
+ isMultipleAccount: boolean;
26
+ multipleInstance: {
27
+ initStore: (appId: string, options: {
28
+ serverSideLoginMethods: LoginWay[];
29
+ isInternationSms: boolean;
30
+ }) => void;
31
+ setLoginWay: (tab: "input" | "qrcode", way: LoginWay, id?: string | undefined, internation?: {
32
+ phoneCountryCode: string;
33
+ areaCode: string;
34
+ } | undefined) => void;
35
+ setUserInfo: (user: Omit<import("../../Guard/core/hooks/useMultipleAccounts").User & {
36
+ id: string;
37
+ loginAccount?: string | undefined;
38
+ usertype?: string | undefined;
39
+ }, "tab" | "way" | "phoneCountryCode">) => void;
40
+ setLoginWayByHttpData: (account: string, data: {
41
+ username?: string | undefined;
42
+ phone?: string | undefined;
43
+ email?: string | undefined;
44
+ }) => void;
45
+ setLoginWayByLDAPData: (account: string, data: {
46
+ name?: string | undefined;
47
+ phone?: string | undefined;
48
+ email?: string | undefined;
49
+ }) => void;
50
+ getMemoUser: (excludeWays?: LoginWay[]) => import("../multipleAccounts/panel").SelectOptions[];
51
+ getMemoSingleUser: (id: string) => {
52
+ way: LoginWay;
53
+ account: string;
54
+ } | undefined;
55
+ delUserById: (id: string) => string;
56
+ getMemberState: () => boolean;
57
+ getFirstBackFillData: () => BackFillMultipleState | undefined;
58
+ getOriginAccount: () => string;
59
+ getOriginWay: () => string;
60
+ } | undefined;
61
+ referMultipleState: ((type: "login" | "multiple") => void) | undefined;
62
+ backfillData: BackFillMultipleState | undefined;
63
+ defaultQrWay: string | undefined;
64
+ };
65
+ export { useLoginMultipleBackFill, useLoginMultiple };
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import './styles.less';
3
+ export declare const GuardLoginView: FC<{
4
+ isResetPage?: boolean;
5
+ }>;
@@ -0,0 +1,41 @@
1
+ import { IG2Config, IG2Events, IG2FCProps, IG2FCViewProps } from '../Type';
2
+ import { AuthenticationClient, User } from 'authing-js-sdk';
3
+ import { QrCodeAuthenticationClient } from 'authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient';
4
+ import { Agreement, LoginMethods, SocialConnectionProvider } from '../Type/application';
5
+ export interface LoginConfig extends IG2Config {
6
+ autoRegister?: boolean;
7
+ disableResetPwd?: boolean;
8
+ disableRegister?: boolean;
9
+ defaultLoginMethod?: LoginMethods;
10
+ loginMethods?: LoginMethods[];
11
+ passwordLoginMethods?: string[];
12
+ socialConnections?: SocialConnectionProvider[];
13
+ socialConnectionsBtnShape?: 'default' | 'button' | 'icon';
14
+ enterpriseConnections?: string[];
15
+ qrCodeScanOptions?: Parameters<QrCodeAuthenticationClient['startScanning']>[1];
16
+ publicKey?: string;
17
+ agreementEnabled?: boolean;
18
+ agreements?: Agreement[];
19
+ /**
20
+ * 关闭二维码状态check轮询(console上使用)
21
+ */
22
+ _closeLoopCheckQrcode?: boolean;
23
+ }
24
+ export interface LoginEvents extends IG2Events {
25
+ onLogin?: (user: User, authClient: AuthenticationClient) => void;
26
+ onLoginError?: (errorMessages: any) => void;
27
+ onLoginTabChange?: (activeTab: LoginMethods) => void;
28
+ onBeforeLogin?: (loginInfo: any, authClient: AuthenticationClient) => boolean | Promise<boolean>;
29
+ }
30
+ export interface GuardLoginProps extends IG2FCProps, LoginEvents {
31
+ config?: Partial<LoginConfig>;
32
+ }
33
+ export interface GuardLoginViewProps extends GuardLoginProps, IG2FCViewProps {
34
+ config: LoginConfig;
35
+ }
36
+ export interface GuardLoginInitData {
37
+ specifyDefaultLoginMethod?: LoginMethods;
38
+ _firstItemInitialValue?: string;
39
+ _lockMethod?: string;
40
+ }
41
+ export declare const getDefaultLoginConfig: () => LoginConfig;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { LoginWay, StoreInstance } from '../../Guard/core/hooks/useMultipleAccounts';
3
+ import { GuardModuleType } from '../../Guard';
4
+ interface MultipleAccountsProps {
5
+ /**
6
+ * 多账号存储实例
7
+ */
8
+ multipleInstance?: StoreInstance;
9
+ /**
10
+ * 切换 Guard 方法
11
+ */
12
+ changeModule?: (moduleName: GuardModuleType, initData?: any) => Promise<void>;
13
+ /**
14
+ * 切换多账号状态
15
+ */
16
+ referMultipleState?: (type: 'login' | 'multiple', data?: {
17
+ account: string;
18
+ way: LoginWay;
19
+ }) => void;
20
+ }
21
+ declare const MultipleAccounts: React.NamedExoticComponent<MultipleAccountsProps>;
22
+ export { MultipleAccounts };
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import './style.less';
3
+ interface SelectPanelProps {
4
+ lists: SelectOptions[];
5
+ /**
6
+ * 点击删除
7
+ */
8
+ handleDel: (id: string) => void;
9
+ /**
10
+ * 点击 li
11
+ */
12
+ onClick: (id: string) => void;
13
+ }
14
+ export interface SelectOptions {
15
+ /**
16
+ * 头像
17
+ */
18
+ photo?: string;
19
+ /**
20
+ * 标题
21
+ */
22
+ title?: string;
23
+ /**
24
+ * 描述
25
+ */
26
+ description?: string;
27
+ /**
28
+ * 用户 ID 唯一标识符
29
+ */
30
+ id: string | 'other';
31
+ /**
32
+ * 显示操作栏 default: true
33
+ */
34
+ operation?: boolean;
35
+ /**
36
+ * 登录时间
37
+ */
38
+ _updateTime: number;
39
+ /**
40
+ * 替代图片元素
41
+ */
42
+ element?: React.ReactElement;
43
+ way: string;
44
+ }
45
+ declare const SelectPanel: React.FC<SelectPanelProps>;
46
+ export { SelectPanel };
@@ -0,0 +1,6 @@
1
+ export declare const enum ResetAccountBusinessAction {
2
+ ResetName = "reset-username-before-auth"
3
+ }
4
+ export declare const authFlow: (action: ResetAccountBusinessAction, content: {
5
+ username: string;
6
+ }) => Promise<import("../../_utils/http").AuthingGuardResponse<any>>;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import './style.less';
3
+ export declare const ResetAccountName: FC;
@@ -0,0 +1 @@
1
+ export declare const IdpButton: (props: any) => JSX.Element | null;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import './style.less';
3
+ import { GuardLocalConfig } from '../../Guard';
4
+ import { ApplicationConfig, SocialConnectionItem } from '../../Type/application';
5
+ import { StoreInstance } from '../../Guard/core/hooks/useMultipleAccounts';
6
+ export interface SocialLoginProps {
7
+ appId: string;
8
+ config: GuardLocalConfig;
9
+ onLoginFailed: any;
10
+ onLoginSuccess: any;
11
+ enterpriseConnectionObjs: ApplicationConfig['identityProviders'];
12
+ socialConnectionObjs: SocialConnectionItem[];
13
+ /**
14
+ * 根据输入的账号 & 返回获得对应的登录方法
15
+ */
16
+ multipleInstance?: StoreInstance;
17
+ }
18
+ export declare const SocialLogin: React.FC<SocialLoginProps>;
@@ -0,0 +1,7 @@
1
+ import { AuthingResponse } from '../../_utils/http';
2
+ export declare const usePostMessage: () => (evt: MessageEvent) => import("../../_utils/http").AuthingGuardResponse<any> | {
3
+ code: any;
4
+ data: any;
5
+ onGuardHandling: undefined;
6
+ } | undefined;
7
+ export declare const useErrorHandling: () => (res: AuthingResponse) => import("../../_utils/http").AuthingGuardResponse<any>;
@@ -0,0 +1,8 @@
1
+ import { FormItemProps } from 'antd/lib/form';
2
+ import React from 'react';
3
+ import './style.less';
4
+ export interface VerifyCodeFormItemProps extends FormItemProps {
5
+ codeLength: number;
6
+ ruleKeyword?: string;
7
+ }
8
+ export declare const VerifyCodeFormItem: React.FC<VerifyCodeFormItemProps>;
@@ -0,0 +1,14 @@
1
+ import React, { FC } from 'react';
2
+ import './style.less';
3
+ interface VerifyCodeInputProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ length?: number;
5
+ size?: string;
6
+ gutter?: string;
7
+ onEenter?: Function;
8
+ showDivider?: boolean;
9
+ onChange?: any;
10
+ value?: Array<number | string>;
11
+ onFinish?: any;
12
+ }
13
+ export declare const VerifyCodeInput: FC<VerifyCodeInputProps>;
14
+ export {};
@@ -0,0 +1,46 @@
1
+ export declare enum MfaBusinessAction {
2
+ VerifyEmail = "verify-email",
3
+ VerifySms = "verify-sms",
4
+ VerifyTotp = "verify-totp",
5
+ VerifyFace = "verify-face",
6
+ AssociateFace = "associate-face"
7
+ }
8
+ export declare const authFlow: (action: MfaBusinessAction, content: any) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
9
+ interface VerifySmsContent {
10
+ phone: string;
11
+ code: string;
12
+ mfaToken?: string;
13
+ phoneCountryCode?: string;
14
+ }
15
+ interface VerifyEmailContent {
16
+ email: string;
17
+ code: string;
18
+ mfaToken?: string;
19
+ }
20
+ interface VerifyTotpContent {
21
+ totp: string;
22
+ mfaToken?: string;
23
+ }
24
+ interface VerifyFaceContent {
25
+ photo: string;
26
+ mfaToken?: string;
27
+ }
28
+ interface AssociateFaceContent {
29
+ photoA: string;
30
+ photoB: string;
31
+ isExternalPhoto?: boolean;
32
+ mfaToken?: string;
33
+ }
34
+ export declare const VerifyEmail: (content: VerifyEmailContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
35
+ export declare const VerifySms: (content: VerifySmsContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
36
+ export declare const VerifyTotp: (content: VerifyTotpContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
37
+ export declare const VerifyFace: (content: VerifyFaceContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
38
+ export declare const AssociateFace: (content: AssociateFaceContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
39
+ export declare const useMfaBusinessRequest: () => {
40
+ "verify-email": (content: VerifyEmailContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
41
+ "verify-sms": (content: VerifySmsContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
42
+ "verify-totp": (content: VerifyTotpContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
43
+ "verify-face": (content: VerifyFaceContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
44
+ "associate-face": (content: AssociateFaceContent) => Promise<import("../_utils/http").AuthingGuardResponse<any>>;
45
+ };
46
+ export {};
@@ -0,0 +1,2 @@
1
+ import { GuardModuleAction } from '../Guard/module';
2
+ export declare const codeMap: Record<number, GuardModuleAction>;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { MFAConfig } from '../interface';
3
+ interface BindMFAEmailProps {
4
+ mfaToken: string;
5
+ onBind: (email: string) => void;
6
+ config: any;
7
+ }
8
+ export declare const BindMFAEmail: React.FC<BindMFAEmailProps>;
9
+ interface VerifyMFAEmailProps {
10
+ email: string;
11
+ mfaToken: string;
12
+ onVerify: (code: number, data: any) => void;
13
+ sendCodeRef: React.RefObject<HTMLButtonElement>;
14
+ codeLength: number;
15
+ }
16
+ export declare const VerifyMFAEmail: React.FC<VerifyMFAEmailProps>;
17
+ export declare const MFAEmail: React.FC<{
18
+ mfaToken: string;
19
+ email?: string;
20
+ mfaLogin: any;
21
+ config: MFAConfig;
22
+ }>;
23
+ export {};
@@ -0,0 +1 @@
1
+ export declare const MFAFace: (props: any) => JSX.Element;
@@ -0,0 +1,11 @@
1
+ export declare const devicesConstraints: {
2
+ video: {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ };
7
+ export declare const FACE_SCORE = 0.65;
8
+ export declare function getFaceDetectorOptions(): any;
9
+ export declare function getCurrentFaceDetectionNet(): any;
10
+ export declare function isFaceDetectionModelLoaded(): boolean;
11
+ export declare function dataURItoBlob(base64Data: any): Blob;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { GuardMFAInitData, MFAConfig } from '../interface';
3
+ export interface BindMFASmsProps {
4
+ mfaToken: string;
5
+ onBind: (phone: string) => void;
6
+ config: any;
7
+ areaCode: string;
8
+ setAreaCode: (areaCode: string) => void;
9
+ isInternationSms: boolean;
10
+ }
11
+ export declare const BindMFASms: React.FC<BindMFASmsProps>;
12
+ export interface VerifyMFASmsProps {
13
+ mfaToken: string;
14
+ phone: string;
15
+ onVerify: (code: number, data: any) => void;
16
+ sendCodeRef: React.RefObject<HTMLButtonElement>;
17
+ codeLength: number;
18
+ areaCode: string;
19
+ phoneCountryCode?: string;
20
+ isInternationSms: boolean;
21
+ userPhone?: string;
22
+ }
23
+ export declare const VerifyMFASms: React.FC<VerifyMFASmsProps>;
24
+ export declare const MFASms: React.FC<{
25
+ mfaLogin: any;
26
+ config: MFAConfig;
27
+ initData: GuardMFAInitData;
28
+ }>;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { GuardMFAInitData, MFAConfig } from '../interface';
3
+ export interface BindMFATotpProps {
4
+ initData: GuardMFAInitData;
5
+ changeModule: any;
6
+ }
7
+ export declare const BindMFATotp: React.FC<BindMFATotpProps>;
8
+ export interface VerifyMFATotpProps {
9
+ mfaToken: string;
10
+ mfaLogin: any;
11
+ changeModule: any;
12
+ }
13
+ export declare const VerifyMFATotp: React.FC<VerifyMFATotpProps>;
14
+ export interface MFATotpProps {
15
+ changeModule: any;
16
+ config: MFAConfig;
17
+ initData: GuardMFAInitData;
18
+ mfaLogin: any;
19
+ }
20
+ export declare const MFATotp: React.FC<MFATotpProps>;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './styles.less';
3
+ interface MFABackStateContextType {
4
+ setMfaBackState: React.Dispatch<React.SetStateAction<string>>;
5
+ mfaBackState: string;
6
+ }
7
+ export declare const MFABackStateContext: React.Context<MFABackStateContextType | undefined>;
8
+ export declare const GuardMFAView: React.FC;
9
+ export {};
@@ -0,0 +1,43 @@
1
+ import { IG2Config, IG2Events, IG2FCProps } from '../Type';
2
+ import { AuthenticationClient, User } from 'authing-js-sdk';
3
+ export interface MFAConfig extends IG2Config {
4
+ autoRegister: boolean;
5
+ }
6
+ export declare const getDefaultMFAConfig: () => MFAConfig;
7
+ export interface MFAEvents extends IG2Events {
8
+ onLogin?: (user: User, authClient: AuthenticationClient) => void;
9
+ }
10
+ export declare enum MFAType {
11
+ SMS = "SMS",
12
+ EMAIL = "EMAIL",
13
+ TOTP = "OTP",
14
+ FACE = "FACE"
15
+ }
16
+ export interface GuardMFAInitData {
17
+ mfaToken: string;
18
+ applicationMfa: {
19
+ mfaPolicy: MFAType;
20
+ sort: number;
21
+ status: 0 | 1;
22
+ }[];
23
+ phoneCountryCode?: string;
24
+ faceMfaEnabled: boolean;
25
+ totpMfaEnabled: boolean;
26
+ email?: string;
27
+ phone?: string;
28
+ avatar?: string;
29
+ nickme?: string;
30
+ username?: string;
31
+ current?: MFAType;
32
+ mfaPhoneCountryCode?: string;
33
+ mfaPhone?: string;
34
+ mfaEmail?: string;
35
+ }
36
+ export interface GuardMFAProps extends IG2FCProps, MFAEvents {
37
+ config: Partial<MFAConfig>;
38
+ initData: GuardMFAInitData;
39
+ }
40
+ export interface GuardMFAViewProps extends GuardMFAProps {
41
+ config: MFAConfig;
42
+ initData: GuardMFAInitData;
43
+ }
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { MFAType } from '../interface';
3
+ import './style.less';
4
+ export interface MFAMethodsProps {
5
+ method: MFAType;
6
+ onChangeMethod: (type: MFAType) => void;
7
+ }
8
+ export declare const MFAMethods: React.FC<MFAMethodsProps>;
@@ -0,0 +1,7 @@
1
+ interface describeQuestionsProps {
2
+ appId: string;
3
+ host: string;
4
+ onSuccess: any;
5
+ }
6
+ export declare const DescribeQuestions: (props: describeQuestionsProps) => JSX.Element;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare const GuardNeedHelpView: (props: any) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const GuardNewSubmitSuccessView: React.FC;
@@ -0,0 +1,19 @@
1
+ import { GuardModuleType } from '../Guard';
2
+ import { IG2Config, IG2Events, IG2FCViewProps } from '../Type';
3
+ export interface SubmitSuccessEvents extends IG2Events {
4
+ }
5
+ export interface SubmitSuccessConfig extends IG2Config {
6
+ }
7
+ export interface SubmitSuccessInitData {
8
+ title?: string;
9
+ message?: string;
10
+ text?: string;
11
+ countDesc?: string;
12
+ changeModule?: GuardModuleType;
13
+ needBack?: boolean;
14
+ goBack?: () => void;
15
+ }
16
+ export interface GuardNewSubmitSuccessViewProps extends IG2FCViewProps, SubmitSuccessEvents {
17
+ config: SubmitSuccessConfig;
18
+ initData?: SubmitSuccessInitData;
19
+ }
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ import { CodeStatusDescriptions } from './WorkQrCode';
4
+ export type CodeStatus = 'loading' | 'ready' | 'already' | 'success' | 'error' | 'expired' | 'cancel' | 'MFA';
5
+ export declare const prefix: string;
6
+ export interface UiQrProps {
7
+ /**
8
+ * Loading 组件
9
+ */
10
+ loadingComponent?: React.ReactElement;
11
+ /**
12
+ * 二维码组件三种状态
13
+ * ready 准备状态
14
+ * already 已扫描状态
15
+ * success 扫描成功/登录成功状态
16
+ * error 错误状态(超时、网络错误)
17
+ */
18
+ status: CodeStatus;
19
+ /**
20
+ * 二维码 URL
21
+ */
22
+ src?: string;
23
+ /**
24
+ * 二维码底部内容
25
+ */
26
+ descriptions: CodeStatusDescriptions;
27
+ /**
28
+ * 外层 container 样式
29
+ */
30
+ containerStyle?: React.CSSProperties;
31
+ /**
32
+ * 内层 container 样式(图片)
33
+ */
34
+ imageStyle?: React.CSSProperties;
35
+ /**
36
+ * 二维码图片准备好的回调
37
+ */
38
+ onLoad?: () => void;
39
+ /**
40
+ * 点击遮罩中的内容区
41
+ * status 当前组件所处状态
42
+ */
43
+ onClickMaskEl?: (status: CodeStatus) => void;
44
+ /**
45
+ * 点击全部遮罩区域
46
+ * status 当前组件所处状态
47
+ */
48
+ onMaskContent?: (status: CodeStatus) => void;
49
+ }
50
+ declare const UiQrCode: React.NamedExoticComponent<UiQrProps>;
51
+ export { UiQrCode };
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { QrCodeResponse } from './hooks/usePostQrCode';
3
+ import { CodeStatus, UiQrProps } from './UiQrCode';
4
+ /**
5
+ * 二维码不同状态下的底部描述文字
6
+ */
7
+ export type CodeStatusDescriptions = Partial<Record<Exclude<CodeStatus, 'loading'>, React.ReactNode | ((referQrCode?: () => void) => React.ReactNode)>>;
8
+ export interface WorkQrCodeRef {
9
+ referQrCode: () => Promise<{
10
+ random: string;
11
+ url: string;
12
+ } | undefined>;
13
+ }
14
+ interface WorkQrCodeProps extends Omit<UiQrProps, 'description' | 'status'> {
15
+ /**
16
+ * 二维码场景
17
+ */
18
+ scene: 'WXAPP_AUTH' | 'APP_AUTH' | 'WECHATMP_AUTH';
19
+ /**
20
+ * 不同状态请求文字
21
+ */
22
+ descriptions: CodeStatusDescriptions;
23
+ /**
24
+ * 睡眠时间 默认 1000
25
+ */
26
+ sleepTime?: number;
27
+ /**
28
+ * 每当状态变化时,触发的 callback 。
29
+ */
30
+ onStatusChange?: (status: CodeStatus, data: QrCodeResponse) => void;
31
+ /**
32
+ * 不同状态下点击遮罩中间区域方法
33
+ */
34
+ onClickMaskContent?: (status: CodeStatus) => void;
35
+ /**
36
+ * 不同二维码下生成配置
37
+ */
38
+ qrCodeScanOptions?: any;
39
+ }
40
+ declare const WorkQrCode: React.ForwardRefExoticComponent<WorkQrCodeProps & React.RefAttributes<any>>;
41
+ export { WorkQrCode };
@@ -0,0 +1,4 @@
1
+ declare const useImage: (src: string | undefined, options: {
2
+ onLoad?: (() => void) | undefined;
3
+ }) => (string | undefined)[];
4
+ export { useImage };
@@ -0,0 +1,72 @@
1
+ /// <reference types="react" />
2
+ import { AuthingGuardResponse, AuthingResponse } from '../../_utils/http';
3
+ import { CodeStatus } from '../UiQrCode';
4
+ import { CodeStatusDescriptions } from '../WorkQrCode';
5
+ import { ReducerType, RootState } from './usePreQrCode';
6
+ export interface QrCodeResponse {
7
+ /**
8
+ * 根据状态确定不同的流程
9
+ */
10
+ status: number;
11
+ /**
12
+ * 返回的随机值
13
+ */
14
+ random: number;
15
+ /**
16
+ * 返回的用户信息
17
+ */
18
+ userInfo?: any;
19
+ /**
20
+ * 扫码成功后 Tick 换取用户信息
21
+ */
22
+ ticket?: string;
23
+ /**
24
+ * MFA 状态下的返回
25
+ */
26
+ scannedResult?: AuthingResponse;
27
+ }
28
+ /**
29
+ * 二维码请求相关
30
+ */
31
+ interface QrCodeRequest {
32
+ genCodeRequest?: () => Promise<AuthingGuardResponse<{
33
+ random: string;
34
+ url: string;
35
+ }>>;
36
+ /**
37
+ * 未扫码下的请求方法
38
+ */
39
+ readyCheckedRequest?: () => Promise<AuthingGuardResponse<QrCodeResponse>>;
40
+ /**
41
+ * 已经扫码下的请求方法(待确认)
42
+ */
43
+ alreadyCheckedRequest?: () => Promise<AuthingGuardResponse<QrCodeResponse>>;
44
+ /**
45
+ * 使用 ticket 交换用户信息
46
+ */
47
+ exchangeUserInfo?: (ticket: string) => Promise<any>;
48
+ }
49
+ interface QrCodeOptions {
50
+ state: RootState;
51
+ dispatch: React.Dispatch<{
52
+ type: ReducerType;
53
+ payload: Partial<RootState>;
54
+ }>;
55
+ descriptions: CodeStatusDescriptions;
56
+ /**
57
+ * check 轮询间隔时间
58
+ */
59
+ sleepTime?: number;
60
+ /**
61
+ * 状态改变时触发事件,仅在 Server 返回的二维码状态改变时进行触发
62
+ */
63
+ onStatusChange?: (status: CodeStatus, data: QrCodeResponse) => void;
64
+ }
65
+ /**
66
+ * 二维码处理阶段
67
+ * 二维码处理阶段分为两个主要流程
68
+ * 1. 同一状态下的轮询逻辑处理
69
+ * 2. 根据不同返回状态码进行处理
70
+ */
71
+ export declare const useQrCode: (options: QrCodeOptions, request: QrCodeRequest) => void;
72
+ export {};