@authing/react-ui-components 4.4.0-alpha.7 → 4.4.0-alpha.70

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 +59 -0
  5. package/lib/static/media/loading.3cf0104f.svg +32 -0
  6. package/package.json +232 -15
  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 +10 -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 +7 -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 +103 -0
  27. package/types/CompleteInfo/utils.d.ts +28 -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 +4 -0
  34. package/types/ForgetPassword/core/inputIdentify.d.ts +7 -0
  35. package/types/ForgetPassword/core/resetPassword.d.ts +15 -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 +322 -0
  45. package/types/Guard/core/index.d.ts +8 -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 +102 -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 +2 -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 +21 -0
  74. package/types/Login/core/withAppQrcode.d.ts +9 -0
  75. package/types/Login/core/withAuthingOtpPush/BeforeLogin.d.ts +17 -0
  76. package/types/Login/core/withAuthingOtpPush/HowBindClient.d.ts +2 -0
  77. package/types/Login/core/withAuthingOtpPush/HowGetAppLoginUrl.d.ts +2 -0
  78. package/types/Login/core/withAuthingOtpPush/HowUsePushLogin.d.ts +2 -0
  79. package/types/Login/core/withAuthingOtpPush/PendingLogin.d.ts +7 -0
  80. package/types/Login/core/withAuthingOtpPush/PushLoginGuideModal.d.ts +3 -0
  81. package/types/Login/core/withAuthingOtpPush/PushLoginGuideSelector.d.ts +9 -0
  82. package/types/Login/core/withAuthingOtpPush/index.d.ts +3 -0
  83. package/types/Login/core/withAuthingOtpPush/types.d.ts +28 -0
  84. package/types/Login/core/withLDAP.d.ts +22 -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 +28 -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 +4 -0
  93. package/types/Login/core/withVerifyCode/inputIdentify.d.ts +7 -0
  94. package/types/Login/core/withWechatMiniQrcode.d.ts +11 -0
  95. package/types/Login/core/withWechatmpQrcode.d.ts +14 -0
  96. package/types/Login/hooks/useLoginMultiple.d.ts +64 -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 +2 -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 +2 -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 +8 -0
  119. package/types/NeedHelpView/index.d.ts +2 -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 +7 -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 +3 -0
  144. package/types/SelectAccount2Login/index.d.ts +3 -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 +17 -0
  151. package/types/SendCode/index.d.ts +9 -0
  152. package/types/ShieldSpin/index.d.ts +7 -0
  153. package/types/SingleComponent/SingleComponent.d.ts +3 -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 +3 -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 +163 -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 +98 -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 -191
  204. package/dist/typings/index.d.ts +0 -2
@@ -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,2 @@
1
+ /// <reference types="react" />
2
+ 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,2 @@
1
+ /// <reference types="react" />
2
+ 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,8 @@
1
+ /// <reference types="react" />
2
+ interface describeQuestionsProps {
3
+ appId: string;
4
+ host: string;
5
+ onSuccess: any;
6
+ }
7
+ export declare const DescribeQuestions: (props: describeQuestionsProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ 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 declare 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 declare 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 {};
@@ -0,0 +1,31 @@
1
+ /// <reference types="react" />
2
+ import { CodeStatus } from '../UiQrCode';
3
+ export declare type ReducerType = 'change' | 'changeStatus' | 'changeDesc';
4
+ export declare type RootState = {
5
+ /**
6
+ * 状态
7
+ */
8
+ status: CodeStatus;
9
+ /**
10
+ * 底部描述
11
+ */
12
+ /**
13
+ * 当前二维码 URL
14
+ */
15
+ src?: string;
16
+ /**
17
+ * 二维码随机值
18
+ */
19
+ random?: string;
20
+ };
21
+ /**
22
+ * QrCode 准备阶段 Hook
23
+ */
24
+ declare const usePreQrCode: () => {
25
+ state: RootState;
26
+ dispatch: import("react").Dispatch<{
27
+ type: ReducerType;
28
+ payload: Partial<RootState>;
29
+ }>;
30
+ };
31
+ export { usePreQrCode };
@@ -0,0 +1,7 @@
1
+ import { CodeStatus } from '../UiQrCode';
2
+ /**
3
+ * 根据不同状态添加不同的元素
4
+ * 维护不同状态的处理
5
+ */
6
+ declare const useStatus: (status: CodeStatus) => ({} | null | undefined)[];
7
+ export { useStatus };
@@ -0,0 +1,7 @@
1
+ import { UiQrCode } from './UiQrCode';
2
+ import { WorkQrCode } from './WorkQrCode';
3
+ declare type IQrCode = typeof WorkQrCode & {
4
+ UI: typeof UiQrCode;
5
+ };
6
+ declare const QrCode: IQrCode;
7
+ export { QrCode };
@@ -0,0 +1,5 @@
1
+ export declare enum TotpRecoveryCodeBusinessAction {
2
+ RecoveryTotp = "recovery-totp",
3
+ ConfirmTotpRecoveryCode = "confirm-totp-recovery-code"
4
+ }
5
+ export declare function authFlow<T>(action: TotpRecoveryCodeBusinessAction, content: any): Promise<import("../_utils/http").AuthingGuardResponse<T>>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const SaveCode: React.FC<{
3
+ secret: string;
4
+ onBind: any;
5
+ }>;