@authing/react-ui-components 3.0.2-beta.4 → 3.0.2-beta.9

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 (261) hide show
  1. package/lib/index.d.ts +453 -35
  2. package/lib/index.min.css +2 -2
  3. package/lib/index.min.js +1 -1
  4. package/package.json +25 -7
  5. package/.eslintignore +0 -6
  6. package/.eslintrc.js +0 -7
  7. package/.prettierrc +0 -5
  8. package/.vscode/settings.json +0 -31
  9. package/build/asset-manifest.json +0 -26
  10. package/build/favicon.ico +0 -0
  11. package/build/index.html +0 -1
  12. package/build/logo192.png +0 -0
  13. package/build/logo512.png +0 -0
  14. package/build/manifest.json +0 -25
  15. package/build/robots.txt +0 -3
  16. package/build/static/css/2.51c07e65.chunk.css +0 -3
  17. package/build/static/css/2.51c07e65.chunk.css.map +0 -1
  18. package/build/static/css/main.779f221a.chunk.css +0 -2
  19. package/build/static/css/main.779f221a.chunk.css.map +0 -1
  20. package/build/static/js/2.bbae9fdb.chunk.js +0 -3
  21. package/build/static/js/2.bbae9fdb.chunk.js.LICENSE.txt +0 -102
  22. package/build/static/js/2.bbae9fdb.chunk.js.map +0 -1
  23. package/build/static/js/3.fd17f196.chunk.js +0 -2
  24. package/build/static/js/3.fd17f196.chunk.js.map +0 -1
  25. package/build/static/js/main.5f341531.chunk.js +0 -2
  26. package/build/static/js/main.5f341531.chunk.js.map +0 -1
  27. package/build/static/js/runtime-main.ef138021.js +0 -2
  28. package/build/static/js/runtime-main.ef138021.js.map +0 -1
  29. package/build/static/media/loading.4a67a5f3.svg +0 -29
  30. package/components/AuthingDropdown/index.tsx +0 -52
  31. package/components/AuthingDropdown/style.less +0 -43
  32. package/components/AuthingGuard/AppMFALayout/index.tsx +0 -74
  33. package/components/AuthingGuard/AppMFALayout/style.less +0 -12
  34. package/components/AuthingGuard/CompleteUserInfoLayout/index.tsx +0 -29
  35. package/components/AuthingGuard/CompleteUserInfoLayout/style.less +0 -8
  36. package/components/AuthingGuard/Forms/ADLoginForm/index.tsx +0 -117
  37. package/components/AuthingGuard/Forms/Agreements/index.tsx +0 -81
  38. package/components/AuthingGuard/Forms/Agreements/style.less +0 -44
  39. package/components/AuthingGuard/Forms/CompleteUserInfoForm/index.tsx +0 -139
  40. package/components/AuthingGuard/Forms/EmailMfaVerifyForm/CheckEmailForm.tsx +0 -84
  41. package/components/AuthingGuard/Forms/EmailMfaVerifyForm/VerifyCodeForm.tsx +0 -116
  42. package/components/AuthingGuard/Forms/EmailMfaVerifyForm/index.tsx +0 -40
  43. package/components/AuthingGuard/Forms/EmailMfaVerifyForm/style.less +0 -0
  44. package/components/AuthingGuard/Forms/EmailRegisterForm/index.tsx +0 -181
  45. package/components/AuthingGuard/Forms/EmailRegisterForm/style.less +0 -0
  46. package/components/AuthingGuard/Forms/LdapLoginForm/index.tsx +0 -166
  47. package/components/AuthingGuard/Forms/LdapLoginForm/style.less +0 -0
  48. package/components/AuthingGuard/Forms/LoginFormFooter/index.tsx +0 -76
  49. package/components/AuthingGuard/Forms/LoginFormFooter/style.less +0 -6
  50. package/components/AuthingGuard/Forms/MfaResetCodeForm/Step1.tsx +0 -86
  51. package/components/AuthingGuard/Forms/MfaResetCodeForm/Step2.tsx +0 -53
  52. package/components/AuthingGuard/Forms/MfaResetCodeForm/index.tsx +0 -65
  53. package/components/AuthingGuard/Forms/MfaResetCodeForm/style.less +0 -20
  54. package/components/AuthingGuard/Forms/MfaVerifyForm/index.tsx +0 -105
  55. package/components/AuthingGuard/Forms/MfaVerifyForm/style.less +0 -12
  56. package/components/AuthingGuard/Forms/PasswordLoginForm/index.tsx +0 -261
  57. package/components/AuthingGuard/Forms/PhoneCodeLoginForm/index.tsx +0 -133
  58. package/components/AuthingGuard/Forms/PhoneRegisterForm/index.tsx +0 -202
  59. package/components/AuthingGuard/Forms/QrCodeLoginForm/index.tsx +0 -59
  60. package/components/AuthingGuard/Forms/QrCodeLoginForm/style.less +0 -14
  61. package/components/AuthingGuard/Forms/RegisterFormFooter/index.tsx +0 -56
  62. package/components/AuthingGuard/Forms/RegisterFormFooter/style.less +0 -0
  63. package/components/AuthingGuard/Forms/ResetPwdForm/Footer.tsx +0 -21
  64. package/components/AuthingGuard/Forms/ResetPwdForm/Step1.tsx +0 -86
  65. package/components/AuthingGuard/Forms/ResetPwdForm/Step2.tsx +0 -127
  66. package/components/AuthingGuard/Forms/ResetPwdForm/Step3.tsx +0 -141
  67. package/components/AuthingGuard/Forms/ResetPwdForm/Step4.tsx +0 -51
  68. package/components/AuthingGuard/Forms/ResetPwdForm/index.tsx +0 -96
  69. package/components/AuthingGuard/Forms/ResetPwdForm/style.less +0 -3
  70. package/components/AuthingGuard/Forms/SendPhoneCode/SendCodeBtn.tsx +0 -88
  71. package/components/AuthingGuard/Forms/SendPhoneCode/index.tsx +0 -50
  72. package/components/AuthingGuard/Forms/SendPhoneCode/style.less +0 -26
  73. package/components/AuthingGuard/Forms/SmsMfaVerifyForm/CheckPhoneForm.tsx +0 -86
  74. package/components/AuthingGuard/Forms/SmsMfaVerifyForm/VerifyCodeForm.tsx +0 -113
  75. package/components/AuthingGuard/Forms/SmsMfaVerifyForm/index.tsx +0 -40
  76. package/components/AuthingGuard/Forms/SmsMfaVerifyForm/style.less +0 -3
  77. package/components/AuthingGuard/Forms/SocialAndIdpLogin/index.tsx +0 -325
  78. package/components/AuthingGuard/Forms/SocialAndIdpLogin/style.less +0 -75
  79. package/components/AuthingGuard/Forms/UploadImage/index.tsx +0 -70
  80. package/components/AuthingGuard/Forms/index.ts +0 -13
  81. package/components/AuthingGuard/GuardLayout/index.tsx +0 -474
  82. package/components/AuthingGuard/GuardLayout/style.less +0 -111
  83. package/components/AuthingGuard/Header/index.tsx +0 -25
  84. package/components/AuthingGuard/Header/style.less +0 -52
  85. package/components/AuthingGuard/IconFont/iconfont.js +0 -74
  86. package/components/AuthingGuard/IconFont/index.tsx +0 -19
  87. package/components/AuthingGuard/IconFont/style.less +0 -6
  88. package/components/AuthingGuard/IconFont/svg.js +0 -2
  89. package/components/AuthingGuard/LoginLayout/index.tsx +0 -161
  90. package/components/AuthingGuard/LoginLayout/style.less +0 -0
  91. package/components/AuthingGuard/MfaLayout/Steps.ts +0 -4
  92. package/components/AuthingGuard/MfaLayout/index.tsx +0 -49
  93. package/components/AuthingGuard/MfaLayout/style.less +0 -3
  94. package/components/AuthingGuard/RegisterLayout/index.tsx +0 -89
  95. package/components/AuthingGuard/RegisterLayout/style.less +0 -0
  96. package/components/AuthingGuard/ResetPwdLayout/index.tsx +0 -20
  97. package/components/AuthingGuard/ToggleLang/index.tsx +0 -51
  98. package/components/AuthingGuard/api/appConfig.ts +0 -146
  99. package/components/AuthingGuard/api/index.ts +0 -3
  100. package/components/AuthingGuard/api/sso.ts +0 -29
  101. package/components/AuthingGuard/api/userPoolConfig.ts +0 -111
  102. package/components/AuthingGuard/constants.ts +0 -107
  103. package/components/AuthingGuard/hooks/index.tsx +0 -70
  104. package/components/AuthingGuard/hooks/useScreenSize.tsx +0 -68
  105. package/components/AuthingGuard/index.tsx +0 -126
  106. package/components/AuthingGuard/style.less +0 -103
  107. package/components/AuthingGuard/types/Forms.ts +0 -94
  108. package/components/AuthingGuard/types/GuardConfig.ts +0 -420
  109. package/components/AuthingGuard/types/GuardState.ts +0 -7
  110. package/components/AuthingGuard/types/Locales.ts +0 -12
  111. package/components/AuthingGuard/types/index.ts +0 -4
  112. package/components/AuthingTabs/index.tsx +0 -98
  113. package/components/AuthingTabs/style.less +0 -135
  114. package/components/BindTotp/core/bindSuccess.tsx +0 -72
  115. package/components/BindTotp/core/securityCode.tsx +0 -108
  116. package/components/BindTotp/index.tsx +0 -134
  117. package/components/BindTotp/interface.ts +0 -30
  118. package/components/BindTotp/styles.less +0 -57
  119. package/components/ChangeLanguage/index.tsx +0 -35
  120. package/components/ChangePassword/core/firstLoginReset.tsx +0 -104
  121. package/components/ChangePassword/core/rotateReset.tsx +0 -114
  122. package/components/ChangePassword/index.tsx +0 -59
  123. package/components/CompleteInfo/core/completeInfo.tsx +0 -155
  124. package/components/CompleteInfo/index.tsx +0 -45
  125. package/components/CompleteInfo/interface.ts +0 -40
  126. package/components/CompleteInfo/styles.less +0 -7
  127. package/components/CopyAbleText/index.tsx +0 -54
  128. package/components/CopyAbleText/style.less +0 -13
  129. package/components/DownloadAuthenticator/index.tsx +0 -97
  130. package/components/DownloadAuthenticator/interface.ts +0 -22
  131. package/components/DownloadAuthenticator/styles.less +0 -52
  132. package/components/Error/index.tsx +0 -21
  133. package/components/Error/interface.ts +0 -9
  134. package/components/Error/styles.less +0 -12
  135. package/components/ForgetPassword/core/resetPassword.tsx +0 -162
  136. package/components/ForgetPassword/index.tsx +0 -78
  137. package/components/ForgetPassword/interface.ts +0 -32
  138. package/components/Guard/Guard.tsx +0 -287
  139. package/components/Guard/authClient.ts +0 -44
  140. package/components/Guard/config.ts +0 -19
  141. package/components/Guard/event.ts +0 -52
  142. package/components/Guard/index.tsx +0 -4
  143. package/components/Guard/module.ts +0 -20
  144. package/components/Guard/stateMachine.ts +0 -152
  145. package/components/Guard/styles.less +0 -461
  146. package/components/IconFont/iconfont.js +0 -74
  147. package/components/IconFont/index.tsx +0 -16
  148. package/components/IconFont/style.less +0 -6
  149. package/components/IconFont/svg.js +0 -2
  150. package/components/ImagePro/index.tsx +0 -53
  151. package/components/ImagePro/styles.less +0 -40
  152. package/components/InputNumber/index.tsx +0 -33
  153. package/components/Login/codemap.ts +0 -47
  154. package/components/Login/core/withAD.tsx +0 -9
  155. package/components/Login/core/withAppQrcode.tsx +0 -49
  156. package/components/Login/core/withLDAP.tsx +0 -146
  157. package/components/Login/core/withPassword/FormItemAccount.tsx +0 -42
  158. package/components/Login/core/withPassword/GraphicVerifyCode.tsx +0 -30
  159. package/components/Login/core/withPassword/InputAccount.tsx +0 -64
  160. package/components/Login/core/withPassword/index.tsx +0 -173
  161. package/components/Login/core/withPhonecode.tsx +0 -122
  162. package/components/Login/core/withWechatMiniQrcode.tsx +0 -60
  163. package/components/Login/core/withWechatmpQrcode.tsx +0 -53
  164. package/components/Login/index.tsx +0 -373
  165. package/components/Login/props.ts +0 -74
  166. package/components/Login/socialLogin/index.tsx +0 -407
  167. package/components/Login/socialLogin/style.less +0 -69
  168. package/components/Login/styles.less +0 -53
  169. package/components/MFA/VerifyCodeInput/VerifyCodeFormItem.tsx +0 -41
  170. package/components/MFA/VerifyCodeInput/index.tsx +0 -145
  171. package/components/MFA/VerifyCodeInput/style.less +0 -35
  172. package/components/MFA/codemap.ts +0 -24
  173. package/components/MFA/core/email.tsx +0 -203
  174. package/components/MFA/core/face.tsx +0 -297
  175. package/components/MFA/core/face_deps.tsx +0 -37
  176. package/components/MFA/core/sms.tsx +0 -203
  177. package/components/MFA/core/totp.tsx +0 -122
  178. package/components/MFA/index.tsx +0 -143
  179. package/components/MFA/mfaMethods/index.tsx +0 -88
  180. package/components/MFA/mfaMethods/style.less +0 -39
  181. package/components/MFA/props.ts +0 -51
  182. package/components/MFA/styles.less +0 -100
  183. package/components/NeedHelpView/core/describeQuestions.tsx +0 -245
  184. package/components/NeedHelpView/index.tsx +0 -47
  185. package/components/RecoveryCode/core/useCode.tsx +0 -71
  186. package/components/RecoveryCode/index.tsx +0 -27
  187. package/components/RecoveryCode/interface.ts +0 -31
  188. package/components/RecoveryCode/style.less +0 -13
  189. package/components/Register/codemap.ts +0 -12
  190. package/components/Register/components/Agreements/index.tsx +0 -81
  191. package/components/Register/components/Agreements/style.less +0 -44
  192. package/components/Register/core/WithEmail.tsx +0 -242
  193. package/components/Register/core/WithPhone.tsx +0 -184
  194. package/components/Register/index.tsx +0 -139
  195. package/components/Register/props.ts +0 -50
  196. package/components/SendCode/SendCodeBtn.tsx +0 -96
  197. package/components/SendCode/index.tsx +0 -94
  198. package/components/SendCode/style.less +0 -31
  199. package/components/ShieldSpin/index.tsx +0 -27
  200. package/components/ShieldSpin/loading.svg +0 -29
  201. package/components/SubmitButton/index.tsx +0 -50
  202. package/components/SubmitSuccess/index.tsx +0 -66
  203. package/components/SubmitSuccess/interface.ts +0 -17
  204. package/components/Type/index.ts +0 -52
  205. package/components/ValidatorRules/ValidatorFormItem.tsx +0 -139
  206. package/components/ValidatorRules/index.ts +0 -20
  207. package/components/VerifyCodeInput/index.tsx +0 -76
  208. package/components/VerifyCodeInput/style.less +0 -24
  209. package/components/_utils/GuardErrorCode.ts +0 -9
  210. package/components/_utils/clipboard.ts +0 -27
  211. package/components/_utils/config.ts +0 -116
  212. package/components/_utils/guradHttp.ts +0 -97
  213. package/components/_utils/hooks/index.ts +0 -64
  214. package/components/_utils/http.ts +0 -85
  215. package/components/_utils/index.ts +0 -322
  216. package/components/_utils/locales/en/common.json +0 -227
  217. package/components/_utils/locales/en/index.ts +0 -6
  218. package/components/_utils/locales/en/login.json +0 -96
  219. package/components/_utils/locales/en/map.json +0 -4
  220. package/components/_utils/locales/en/user.json +0 -82
  221. package/components/_utils/locales/index.ts +0 -45
  222. package/components/_utils/locales/zh/common.json +0 -227
  223. package/components/_utils/locales/zh/index.ts +0 -6
  224. package/components/_utils/locales/zh/login.json +0 -96
  225. package/components/_utils/locales/zh/map.json +0 -4
  226. package/components/_utils/locales/zh/user.json +0 -82
  227. package/components/_utils/popupCenter.ts +0 -48
  228. package/components/assets/images/error.png +0 -0
  229. package/components/context/base.tsx +0 -28
  230. package/components/context/global/context.tsx +0 -39
  231. package/components/context/global/reducer.tsx +0 -56
  232. package/components/context/module/context.tsx +0 -23
  233. package/components/index.ts +0 -12
  234. package/config/antdReplacer.js +0 -51
  235. package/config/env.js +0 -104
  236. package/config/getHttpsConfig.js +0 -66
  237. package/config/jest/cssTransform.js +0 -14
  238. package/config/jest/fileTransform.js +0 -40
  239. package/config/modules.js +0 -134
  240. package/config/paths.js +0 -71
  241. package/config/pnpTs.js +0 -35
  242. package/config/webpack.config.js +0 -835
  243. package/config/webpackDevServer.config.js +0 -130
  244. package/examples.tsx +0 -86
  245. package/index.js +0 -1
  246. package/logo.svg +0 -7
  247. package/public/favicon.ico +0 -0
  248. package/public/index.html +0 -43
  249. package/public/logo192.png +0 -0
  250. package/public/logo512.png +0 -0
  251. package/public/manifest.json +0 -25
  252. package/public/robots.txt +0 -3
  253. package/react-app-env.d.ts +0 -71
  254. package/reportWebVitals.ts +0 -15
  255. package/scripts/build.js +0 -208
  256. package/scripts/lib.js +0 -200
  257. package/scripts/publish.js +0 -57
  258. package/scripts/start.js +0 -162
  259. package/scripts/test.js +0 -49
  260. package/setupTests.ts +0 -5
  261. package/tsconfig.json +0 -30
@@ -1,373 +0,0 @@
1
- import React, { useEffect, useState } from 'react'
2
- import { useTranslation } from 'react-i18next'
3
- import { message, Tabs } from 'antd'
4
- import { intersection } from 'lodash'
5
-
6
- import { LoginWithPassword } from './core/withPassword/index'
7
- import { LoginWithPhoneCode } from './core/withPhonecode'
8
- import { LoginWithLDAP } from './core/withLDAP'
9
- import { LoginWithAD } from './core/withAD'
10
- import { LoginWithAppQrcode } from './core/withAppQrcode'
11
- import { LoginWithWechatMiniQrcode } from './core/withWechatMiniQrcode'
12
- import { LoginWithWechatmpQrcode } from './core/withWechatmpQrcode'
13
- import { codeMap } from './codemap'
14
- import { SocialLogin } from './socialLogin'
15
- import { GuardLoginViewProps } from './props'
16
-
17
- import { useAuthClient } from '../Guard/authClient'
18
- import { GuardModuleType } from '../Guard/module'
19
- import { LoginMethods } from '../AuthingGuard/types'
20
- import { IconFont } from '../IconFont'
21
- import { ChangeLanguage } from '../ChangeLanguage'
22
- import { i18n } from '../_utils/locales'
23
-
24
- import './styles.less'
25
-
26
- const inputWays = [
27
- LoginMethods.Password,
28
- LoginMethods.PhoneCode,
29
- LoginMethods.AD,
30
- LoginMethods.LDAP,
31
- ]
32
- const qrcodeWays = [
33
- LoginMethods.AppQr,
34
- LoginMethods.WxMinQr,
35
- LoginMethods.WechatMpQrcode,
36
- ]
37
-
38
- const useMethods = (config: any) => {
39
- let dlm = config?.defaultLoginMethod
40
- let propsMethods = config?.loginMethods
41
-
42
- if (!propsMethods?.includes(dlm)) {
43
- dlm = propsMethods?.[0]
44
- }
45
- let renderInputWay = intersection(propsMethods, inputWays).length > 0
46
- let renderQrcodeWay = intersection(propsMethods, qrcodeWays).length > 0
47
- return [dlm, renderInputWay, renderQrcodeWay]
48
- }
49
-
50
- const useDisables = (data: any) => {
51
- let { disableResetPwd, disableRegister } = data.config
52
- let { loginWay, autoRegister } = data
53
-
54
- if (loginWay === LoginMethods.PhoneCode) {
55
- disableResetPwd = true
56
- }
57
- if (loginWay === LoginMethods.LDAP) {
58
- disableResetPwd = true
59
- disableRegister = true
60
- }
61
- if (autoRegister === true) {
62
- disableRegister = true
63
- }
64
- return { disableResetPwd, disableRegister }
65
- }
66
-
67
- const useSwitchStates = (loginWay: LoginMethods) => {
68
- let switchText = i18n.t('login.scanLogin')
69
- if (qrcodeWays.includes(loginWay)) {
70
- switchText = i18n.t('login.moreWays')
71
- }
72
- let inputNone = !inputWays.includes(loginWay) ? 'none' : ''
73
- let qrcodeNone = !qrcodeWays.includes(loginWay) ? 'none' : ''
74
-
75
- return { switchText, inputNone, qrcodeNone }
76
- }
77
- export const GuardLoginView = (props: GuardLoginViewProps) => {
78
- let [defaultMethod, renderInputWay, renderQrcodeWay] = useMethods(
79
- props.config
80
- )
81
- const { t } = useTranslation()
82
- const [loginWay, setLoginWay] = useState(defaultMethod)
83
- const [canLoop, setCanLoop] = useState(false) // 允许轮询
84
- const client = useAuthClient()
85
-
86
- let publicKey = props.config?.publicKey!
87
- // let autoRegister = props.config?.autoRegister
88
- let ms = props.config?.loginMethods
89
- let { autoRegister, langRange } = props.config
90
-
91
- const firstInputWay = inputWays.filter((way) => ms.includes(way))[0]
92
- const firstQRcodeWay = qrcodeWays.filter((way) => ms.includes(way))[0]
93
-
94
- let { disableResetPwd, disableRegister } = useDisables({
95
- config: props.config,
96
- loginWay,
97
- autoRegister,
98
- })
99
-
100
- const __codePaser = (code: number) => {
101
- const action = codeMap[code]
102
- if (code === 200) {
103
- return (data: any) => {
104
- props.onLogin?.(data, client!) // 登录成功
105
- }
106
- }
107
-
108
- if (!action) {
109
- return (initData?: any) => {
110
- initData?.__messag && message.error(initData?.__messag)
111
- console.error('未捕获 code', code)
112
- }
113
- }
114
-
115
- // 解析成功
116
- if (action?.action === 'changeModule') {
117
- let m = action.module ? action.module : GuardModuleType.ERROR
118
- let init = action.initData ? action.initData : {}
119
- return (initData?: any) =>
120
- props.__changeModule?.(m, { ...initData, ...init })
121
- }
122
- if (action?.action === 'message') {
123
- return (initData?: any) => {
124
- message.error(initData?.__message)
125
- }
126
- }
127
-
128
- // 最终结果
129
- return () => {
130
- // props.onLoginError?.(data, client!) // 未捕获 code
131
- console.error('last action at loginview')
132
- }
133
- }
134
-
135
- const onLogin = (code: any, data: any, message?: string) => {
136
- const callback = __codePaser?.(code)
137
- if (code !== 200) {
138
- props.onLoginError?.({
139
- code,
140
- data,
141
- message,
142
- })
143
- }
144
- if (!data) {
145
- data = {}
146
- }
147
- data.__message = message
148
- callback?.(data)
149
- }
150
-
151
- const onBeforeLogin = (loginInfo: any) => {
152
- if (props.onBeforeLogin) {
153
- return props.onBeforeLogin?.(loginInfo, client)
154
- }
155
- return () => console.log('Guard not onBeforeLogin hooks')
156
- }
157
-
158
- useEffect(() => {
159
- if (qrcodeWays.includes(loginWay)) {
160
- setCanLoop(true)
161
- }
162
- // 可以设定 = fasle 的时候关闭 qrcode 的几个定时器
163
- // 不关的话,第二次进入会更快,也没什么代价(只有轮询)
164
- }, [loginWay])
165
-
166
- let { switchText, inputNone, qrcodeNone } = useSwitchStates(loginWay)
167
- // if (loading) {
168
- // return (
169
- // <div className="g2-view-container">
170
- // <LoadShielding />
171
- // </div>
172
- // )
173
- // }
174
- return (
175
- <div className="g2-view-container">
176
- {/* 两种方式都需要渲染的时候,才出现切换按钮 */}
177
- {renderInputWay && renderQrcodeWay && (
178
- <div className="g2-qrcode-switch">
179
- <div className="switch-text">{switchText}</div>
180
- <div
181
- className="switch-img"
182
- onClick={() => {
183
- if (inputWays.includes(loginWay)) {
184
- setLoginWay(firstQRcodeWay)
185
- } else if (qrcodeWays.includes(loginWay)) {
186
- setLoginWay(firstInputWay)
187
- }
188
- }}
189
- >
190
- <div className="imgae-mask" />
191
- <IconFont
192
- type="authing-a-erweima22"
193
- className={`qrcode-switch-image ${inputNone}`}
194
- />
195
- <IconFont
196
- type="authing-diannao"
197
- style={{ marginTop: '-6px' }}
198
- className={`qrcode-switch-image ${qrcodeNone}`}
199
- />
200
- </div>
201
- </div>
202
- )}
203
-
204
- <div className="g2-view-header">
205
- <img src={props.config?.logo} alt="" className="icon" />
206
- <div className="title">
207
- {t('common.login')} {props.config?.title}
208
- </div>
209
- </div>
210
-
211
- {renderInputWay && (
212
- <div className={inputNone}>
213
- <div className={`g2-view-tabs`}>
214
- <Tabs
215
- onChange={(k: any) => {
216
- setLoginWay(k)
217
- props.onLoginTabChange?.(k)
218
- }}
219
- activeKey={loginWay}
220
- >
221
- {ms?.includes(LoginMethods.Password) && (
222
- <Tabs.TabPane
223
- key={LoginMethods.Password}
224
- tab={t('login.pwdLogin')}
225
- >
226
- <LoginWithPassword
227
- publicKey={publicKey}
228
- autoRegister={autoRegister}
229
- host={props.config.host}
230
- onLogin={onLogin}
231
- onBeforeLogin={onBeforeLogin}
232
- passwordLoginMethods={props.config.passwordLoginMethods}
233
- />
234
- </Tabs.TabPane>
235
- )}
236
- {ms?.includes(LoginMethods.PhoneCode) && (
237
- <Tabs.TabPane
238
- key={LoginMethods.PhoneCode}
239
- tab={t('login.verifyCodeLogin')}
240
- >
241
- <LoginWithPhoneCode
242
- verifyCodeLength={
243
- props.config.__publicConfig__?.verifyCodeLength
244
- }
245
- autoRegister={autoRegister}
246
- onBeforeLogin={onBeforeLogin}
247
- onLogin={onLogin}
248
- />
249
- </Tabs.TabPane>
250
- )}
251
- {ms?.includes(LoginMethods.LDAP) && (
252
- <Tabs.TabPane
253
- key={LoginMethods.LDAP}
254
- tab={t('login.ldapLogin')}
255
- >
256
- <LoginWithLDAP
257
- publicKey={publicKey}
258
- autoRegister={autoRegister}
259
- host={props.config.host}
260
- onLogin={onLogin}
261
- onBeforeLogin={onBeforeLogin}
262
- />
263
- </Tabs.TabPane>
264
- )}
265
- {ms?.includes(LoginMethods.AD) && (
266
- <Tabs.TabPane key={LoginMethods.AD} tab={t('login.adLogin')}>
267
- <LoginWithAD onLogin={onLogin} />
268
- </Tabs.TabPane>
269
- )}
270
- </Tabs>
271
- </div>
272
- <div className={`g2-tips-line`}>
273
- {!disableResetPwd && (
274
- <div>
275
- <span
276
- className="link-like"
277
- onClick={() =>
278
- props.__changeModule?.(GuardModuleType.FORGET_PWD, {})
279
- }
280
- >
281
- {t('login.forgetPwd')}
282
- </span>
283
- <span style={{ margin: '0 4px' }} className="gray">
284
-
285
- </span>
286
- </div>
287
- )}
288
-
289
- <div
290
- className="touch-tip"
291
- onClick={() =>
292
- props.__changeModule?.(GuardModuleType.ANY_QUESTIONS, {})
293
- }
294
- >
295
- <IconFont
296
- type={'authing-a-question-line1'}
297
- // style={{ fontSize: 20, marginRight: 8 }}
298
- />
299
- </div>
300
-
301
- {!disableRegister && (
302
- <span className="go-to-register">
303
- <span className="gray">{t('common.noAccYet')}</span>
304
- <span
305
- className="link-like"
306
- onClick={() =>
307
- props.__changeModule?.(GuardModuleType.REGISTER, {})
308
- }
309
- >
310
- {t('common.registerImmediate')}
311
- </span>
312
- </span>
313
- )}
314
- </div>
315
- </div>
316
- )}
317
- {renderQrcodeWay && (
318
- <div className={`g2-view-tabs ${qrcodeNone}`}>
319
- <Tabs
320
- onChange={(k: any) => {
321
- props.onLoginTabChange?.(k)
322
- }}
323
- >
324
- {ms?.includes(LoginMethods.WxMinQr) && (
325
- <Tabs.TabPane
326
- key={LoginMethods.WxMinQr}
327
- tab={t('login.scanLogin')}
328
- >
329
- <LoginWithWechatMiniQrcode
330
- onLogin={onLogin}
331
- canLoop={canLoop}
332
- qrCodeScanOptions={props.config.qrCodeScanOptions}
333
- />
334
- </Tabs.TabPane>
335
- )}
336
- {ms?.includes(LoginMethods.AppQr) && (
337
- <Tabs.TabPane
338
- key={LoginMethods.AppQr}
339
- tab={t('login.appScanLogin')}
340
- >
341
- <LoginWithAppQrcode
342
- onLogin={onLogin}
343
- canLoop={canLoop}
344
- qrCodeScanOptions={props.config.qrCodeScanOptions}
345
- />
346
- </Tabs.TabPane>
347
- )}
348
- {ms?.includes(LoginMethods.WechatMpQrcode) && (
349
- <Tabs.TabPane
350
- key={LoginMethods.WechatMpQrcode}
351
- tab={t('login.wechatmpQrcode')}
352
- >
353
- <LoginWithWechatmpQrcode
354
- onLogin={onLogin}
355
- canLoop={canLoop}
356
- qrCodeScanOptions={props.config.qrCodeScanOptions}
357
- />
358
- </Tabs.TabPane>
359
- )}
360
- </Tabs>
361
- </div>
362
- )}
363
- <div className="g2-social-login">
364
- <SocialLogin
365
- appId={props.appId}
366
- config={props.config}
367
- onLogin={onLogin}
368
- />
369
- </div>
370
- <ChangeLanguage langRange={langRange} onLangChange={props.onLangChange} />
371
- </div>
372
- )
373
- }
@@ -1,74 +0,0 @@
1
- import {
2
- getDefaultG2Config,
3
- IG2Config,
4
- IG2Events,
5
- IG2FCProps,
6
- IG2FCViewProps,
7
- } from '../Type'
8
- import { SocialConnectionProvider } from 'authing-js-sdk'
9
- import { QrCodeAuthenticationClient } from 'authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient'
10
- import { PasswordLoginMethods } from '../AuthingGuard/api'
11
- import {
12
- PasswordLoginParams,
13
- LDAPLoginParams,
14
- ADLoginParams,
15
- PhoneCodeLoginParams,
16
- AuthenticationClient,
17
- LoginMethods,
18
- User,
19
- } from '..'
20
-
21
- export interface LoginConfig extends IG2Config {
22
- autoRegister: boolean
23
- disableResetPwd: boolean
24
- disableRegister: boolean
25
- defaultLoginMethod: LoginMethods
26
- loginMethods: LoginMethods[]
27
- passwordLoginMethods: PasswordLoginMethods[]
28
- socialConnections?: SocialConnectionProvider[]
29
- socialConnectionsBtnShape?: 'default' | 'button' | 'icon'
30
- enterpriseConnections?: string[]
31
- qrCodeScanOptions?: Parameters<QrCodeAuthenticationClient['startScanning']>[1]
32
- publicKey?: string
33
- }
34
-
35
- const defaultConfig: LoginConfig = {
36
- ...getDefaultG2Config(),
37
- autoRegister: false,
38
- disableResetPwd: false,
39
- disableRegister: false,
40
- defaultLoginMethod: LoginMethods.Password,
41
- loginMethods: [LoginMethods.Password, LoginMethods.PhoneCode],
42
- socialConnectionsBtnShape: 'default',
43
- passwordLoginMethods: [
44
- 'email-password',
45
- 'username-password',
46
- 'phone-password',
47
- ],
48
- }
49
-
50
- export interface LoginEvents extends IG2Events {
51
- onLogin?: (user: User, authClient: AuthenticationClient) => void
52
- onLoginError?: (errorMessages: any) => void
53
- onLoginTabChange?: (activeTab: LoginMethods) => void
54
- onBeforeLogin?: (
55
- loginInfo:
56
- | PasswordLoginParams
57
- | LDAPLoginParams
58
- | ADLoginParams
59
- | PhoneCodeLoginParams,
60
- authClient: AuthenticationClient
61
- ) => boolean | Promise<boolean>
62
- }
63
-
64
- export interface GuardLoginProps extends IG2FCProps, LoginEvents {
65
- config?: Partial<LoginConfig>
66
- }
67
- export interface GuardLoginViewProps extends GuardLoginProps, IG2FCViewProps {
68
- config: LoginConfig
69
- }
70
-
71
- export const getDefaultLoginConfig = (): LoginConfig => ({
72
- ...getDefaultG2Config(),
73
- ...defaultConfig,
74
- })