@authing/react-ui-components 3.0.2-alpha.2 → 3.0.2-beta.12

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 (254) hide show
  1. package/lib/index.d.ts +620 -52
  2. package/lib/index.min.css +2 -2
  3. package/lib/index.min.js +1 -1
  4. package/package.json +29 -8
  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.9512539b.chunk.css +0 -3
  17. package/build/static/css/2.9512539b.chunk.css.map +0 -1
  18. package/build/static/css/main.0ff9e24a.chunk.css +0 -2
  19. package/build/static/css/main.0ff9e24a.chunk.css.map +0 -1
  20. package/build/static/js/2.1105ecfb.chunk.js +0 -3
  21. package/build/static/js/2.1105ecfb.chunk.js.LICENSE.txt +0 -102
  22. package/build/static/js/2.1105ecfb.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.a47645ff.chunk.js +0 -2
  26. package/build/static/js/main.a47645ff.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 -105
  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 -61
  115. package/components/BindTotp/core/securityCode.tsx +0 -119
  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 -75
  137. package/components/ForgetPassword/interface.ts +0 -32
  138. package/components/Guard/Guard.tsx +0 -242
  139. package/components/Guard/authClient.ts +0 -55
  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 -19
  144. package/components/Guard/stateMachine.ts +0 -133
  145. package/components/Guard/styles.less +0 -444
  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 -52
  151. package/components/ImagePro/styles.less +0 -40
  152. package/components/InputNumber/index.tsx +0 -33
  153. package/components/Login/codemap.ts +0 -39
  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.tsx +0 -176
  158. package/components/Login/core/withPhonecode.tsx +0 -121
  159. package/components/Login/core/withWechatMiniQrcode.tsx +0 -60
  160. package/components/Login/core/withWechatmpQrcode.tsx +0 -53
  161. package/components/Login/index.tsx +0 -368
  162. package/components/Login/props.ts +0 -74
  163. package/components/Login/socialLogin/index.tsx +0 -413
  164. package/components/Login/socialLogin/style.less +0 -61
  165. package/components/Login/styles.less +0 -53
  166. package/components/MFA/codemap.ts +0 -21
  167. package/components/MFA/core/email.tsx +0 -225
  168. package/components/MFA/core/face.tsx +0 -297
  169. package/components/MFA/core/face_deps.tsx +0 -37
  170. package/components/MFA/core/sms.tsx +0 -229
  171. package/components/MFA/core/totp.tsx +0 -137
  172. package/components/MFA/index.tsx +0 -137
  173. package/components/MFA/mfaMethods/index.tsx +0 -81
  174. package/components/MFA/mfaMethods/style.less +0 -39
  175. package/components/MFA/props.ts +0 -51
  176. package/components/MFA/styles.less +0 -93
  177. package/components/NeedHelpView/core/describeQuestions.tsx +0 -223
  178. package/components/NeedHelpView/index.tsx +0 -99
  179. package/components/RecoveryCode/core/useCode.tsx +0 -71
  180. package/components/RecoveryCode/index.tsx +0 -27
  181. package/components/RecoveryCode/interface.ts +0 -31
  182. package/components/RecoveryCode/style.less +0 -13
  183. package/components/Register/codemap.ts +0 -16
  184. package/components/Register/components/Agreements/index.tsx +0 -81
  185. package/components/Register/components/Agreements/style.less +0 -44
  186. package/components/Register/core/WithEmail.tsx +0 -236
  187. package/components/Register/core/WithPhone.tsx +0 -184
  188. package/components/Register/index.tsx +0 -123
  189. package/components/Register/props.ts +0 -50
  190. package/components/SendCode/SendCodeBtn.tsx +0 -96
  191. package/components/SendCode/index.tsx +0 -94
  192. package/components/SendCode/style.less +0 -31
  193. package/components/ShieldSpin/index.tsx +0 -27
  194. package/components/ShieldSpin/loading.svg +0 -29
  195. package/components/SubmitButton/index.tsx +0 -50
  196. package/components/Type/index.ts +0 -52
  197. package/components/ValidatorRules/EmailFormItem.tsx +0 -81
  198. package/components/ValidatorRules/PhoneFormItem.tsx +0 -90
  199. package/components/ValidatorRules/index.ts +0 -14
  200. package/components/VerifyCodeInput/index.tsx +0 -76
  201. package/components/VerifyCodeInput/style.less +0 -24
  202. package/components/_utils/GuardErrorCode.ts +0 -8
  203. package/components/_utils/clipboard.ts +0 -27
  204. package/components/_utils/config.ts +0 -121
  205. package/components/_utils/guradHttp.ts +0 -93
  206. package/components/_utils/hooks/index.ts +0 -64
  207. package/components/_utils/http.ts +0 -85
  208. package/components/_utils/index.ts +0 -319
  209. package/components/_utils/locales/en/common.json +0 -223
  210. package/components/_utils/locales/en/index.ts +0 -6
  211. package/components/_utils/locales/en/login.json +0 -96
  212. package/components/_utils/locales/en/map.json +0 -4
  213. package/components/_utils/locales/en/user.json +0 -82
  214. package/components/_utils/locales/index.ts +0 -45
  215. package/components/_utils/locales/zh/common.json +0 -223
  216. package/components/_utils/locales/zh/index.ts +0 -6
  217. package/components/_utils/locales/zh/login.json +0 -96
  218. package/components/_utils/locales/zh/map.json +0 -4
  219. package/components/_utils/locales/zh/user.json +0 -82
  220. package/components/_utils/popupCenter.ts +0 -48
  221. package/components/assets/images/error.png +0 -0
  222. package/components/context/base.tsx +0 -28
  223. package/components/context/global/context.tsx +0 -39
  224. package/components/context/global/reducer.tsx +0 -56
  225. package/components/context/module/context.tsx +0 -23
  226. package/components/index.ts +0 -12
  227. package/config/antdReplacer.js +0 -51
  228. package/config/env.js +0 -104
  229. package/config/getHttpsConfig.js +0 -66
  230. package/config/jest/cssTransform.js +0 -14
  231. package/config/jest/fileTransform.js +0 -40
  232. package/config/modules.js +0 -134
  233. package/config/paths.js +0 -71
  234. package/config/pnpTs.js +0 -35
  235. package/config/webpack.config.js +0 -835
  236. package/config/webpackDevServer.config.js +0 -130
  237. package/examples.tsx +0 -107
  238. package/index.js +0 -1
  239. package/lib/static/media/loading.4a67a5f3.svg +0 -29
  240. package/logo.svg +0 -7
  241. package/public/favicon.ico +0 -0
  242. package/public/index.html +0 -43
  243. package/public/logo192.png +0 -0
  244. package/public/logo512.png +0 -0
  245. package/public/manifest.json +0 -25
  246. package/public/robots.txt +0 -3
  247. package/react-app-env.d.ts +0 -71
  248. package/reportWebVitals.ts +0 -15
  249. package/scripts/build.js +0 -208
  250. package/scripts/lib.js +0 -200
  251. package/scripts/start.js +0 -162
  252. package/scripts/test.js +0 -49
  253. package/setupTests.ts +0 -5
  254. package/tsconfig.json +0 -30
@@ -1,368 +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'
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
- let { disableResetPwd, disableRegister } = useDisables({
92
- config: props.config,
93
- loginWay,
94
- autoRegister,
95
- })
96
-
97
- const __codePaser = (code: number) => {
98
- const action = codeMap[code]
99
- if (code === 200) {
100
- return (data: any) => {
101
- props.onLogin?.(data, client!) // 登录成功
102
- }
103
- }
104
-
105
- if (!action) {
106
- return () => {
107
- console.error('未捕获 code', code)
108
- }
109
- }
110
-
111
- // 解析成功
112
- if (action?.action === 'changeModule') {
113
- let m = action.module ? action.module : GuardModuleType.ERROR
114
- let init = action.initData ? action.initData : {}
115
- return (initData?: any) =>
116
- props.__changeModule?.(m, { ...initData, ...init })
117
- }
118
- if (action?.action === 'message') {
119
- return (initData?: any) => {
120
- message.error(initData?.__message)
121
- }
122
- }
123
-
124
- // 最终结果
125
- return () => {
126
- // props.onLoginError?.(data, client!) // 未捕获 code
127
- console.error('last action at loginview')
128
- }
129
- }
130
-
131
- const onLogin = (code: any, data: any, message?: string) => {
132
- const callback = __codePaser?.(code)
133
- if (code !== 200) {
134
- props.onLoginError?.({
135
- code,
136
- data,
137
- message,
138
- })
139
- }
140
- if (!data) {
141
- data = {}
142
- }
143
- data.__message = message
144
- callback?.(data)
145
- }
146
-
147
- const onBeforeLogin = (loginInfo: any) => {
148
- if (props.onBeforeLogin) {
149
- return props.onBeforeLogin?.(loginInfo, client)
150
- }
151
- return () => console.log('Guard not onBeforeLogin hooks')
152
- }
153
-
154
- useEffect(() => {
155
- if (qrcodeWays.includes(loginWay)) {
156
- setCanLoop(true)
157
- }
158
- // 可以设定 = fasle 的时候关闭 qrcode 的几个定时器
159
- // 不关的话,第二次进入会更快,也没什么代价(只有轮询)
160
- }, [loginWay])
161
-
162
- let { switchText, inputNone, qrcodeNone } = useSwitchStates(loginWay)
163
- // if (loading) {
164
- // return (
165
- // <div className="g2-view-container">
166
- // <LoadShielding />
167
- // </div>
168
- // )
169
- // }
170
- return (
171
- <div className="g2-view-container">
172
- {/* 两种方式都需要渲染的时候,才出现切换按钮 */}
173
- {renderInputWay && renderQrcodeWay && (
174
- <div className="g2-qrcode-switch">
175
- <div className="switch-text">{switchText}</div>
176
- <div
177
- className="switch-img"
178
- onClick={() => {
179
- if (inputWays.includes(loginWay)) {
180
- setLoginWay(LoginMethods.WxMinQr)
181
- } else if (qrcodeWays.includes(loginWay)) {
182
- setLoginWay(LoginMethods.Password)
183
- }
184
- }}
185
- >
186
- <div className="imgae-mask" />
187
- <IconFont
188
- type="authing-a-erweima22"
189
- className={`qrcode-switch-image ${inputNone}`}
190
- />
191
- <IconFont
192
- type="authing-diannao"
193
- style={{ marginTop: '-6px' }}
194
- className={`qrcode-switch-image ${qrcodeNone}`}
195
- />
196
- </div>
197
- </div>
198
- )}
199
-
200
- <div className="g2-view-header">
201
- <img src={props.config?.logo} alt="" className="icon" />
202
- <div className="title">
203
- {t('common.login')} {props.config?.title}
204
- </div>
205
- </div>
206
-
207
- {renderInputWay && (
208
- <div className={inputNone}>
209
- <div className={`g2-view-tabs`}>
210
- <Tabs
211
- onChange={(k: any) => {
212
- setLoginWay(k)
213
- props.onLoginTabChange?.(k)
214
- }}
215
- activeKey={loginWay}
216
- >
217
- {ms?.includes(LoginMethods.Password) && (
218
- <Tabs.TabPane
219
- key={LoginMethods.Password}
220
- tab={t('login.pwdLogin')}
221
- >
222
- <LoginWithPassword
223
- publicKey={publicKey}
224
- autoRegister={autoRegister}
225
- host={props.config.host}
226
- onLogin={onLogin}
227
- onBeforeLogin={onBeforeLogin}
228
- />
229
- </Tabs.TabPane>
230
- )}
231
- {ms?.includes(LoginMethods.PhoneCode) && (
232
- <Tabs.TabPane
233
- key={LoginMethods.PhoneCode}
234
- tab={t('login.verifyCodeLogin')}
235
- >
236
- <LoginWithPhoneCode
237
- verifyCodeLength={
238
- props.config.__publicConfig__?.verifyCodeLength
239
- }
240
- autoRegister={autoRegister}
241
- onBeforeLogin={onBeforeLogin}
242
- onLogin={onLogin}
243
- />
244
- </Tabs.TabPane>
245
- )}
246
- {ms?.includes(LoginMethods.LDAP) && (
247
- <Tabs.TabPane
248
- key={LoginMethods.LDAP}
249
- tab={t('login.ldapLogin')}
250
- >
251
- <LoginWithLDAP
252
- publicKey={publicKey}
253
- autoRegister={autoRegister}
254
- host={props.config.host}
255
- onLogin={onLogin}
256
- onBeforeLogin={onBeforeLogin}
257
- />
258
- </Tabs.TabPane>
259
- )}
260
- {ms?.includes(LoginMethods.AD) && (
261
- <Tabs.TabPane key={LoginMethods.AD} tab={t('login.adLogin')}>
262
- <LoginWithAD onLogin={onLogin} />
263
- </Tabs.TabPane>
264
- )}
265
- </Tabs>
266
- </div>
267
- <div className={`g2-tips-line`}>
268
- {!disableResetPwd && (
269
- <div>
270
- <span
271
- className="link-like"
272
- onClick={() =>
273
- props.__changeModule?.(GuardModuleType.FORGET_PWD, {})
274
- }
275
- >
276
- {t('login.forgetPwd')}
277
- </span>
278
- <span style={{ margin: '0 4px' }} className="gray">
279
-
280
- </span>
281
- </div>
282
- )}
283
-
284
- <div
285
- className="touch-tip"
286
- onClick={() =>
287
- props.__changeModule?.(GuardModuleType.ANY_QUESTIONS, {})
288
- }
289
- >
290
- <IconFont
291
- type={'authing-a-question-line1'}
292
- // style={{ fontSize: 20, marginRight: 8 }}
293
- />
294
- </div>
295
-
296
- {!disableRegister && (
297
- <span className="go-to-register">
298
- <span className="gray">{t('common.noAccYet')}</span>
299
- <span
300
- className="link-like"
301
- onClick={() =>
302
- props.__changeModule?.(GuardModuleType.REGISTER, {})
303
- }
304
- >
305
- {t('common.registerImmediate')}
306
- </span>
307
- </span>
308
- )}
309
- </div>
310
- </div>
311
- )}
312
- {renderQrcodeWay && (
313
- <div className={`g2-view-tabs ${qrcodeNone}`}>
314
- <Tabs
315
- onChange={(k: any) => {
316
- props.onLoginTabChange?.(k)
317
- }}
318
- >
319
- {ms?.includes(LoginMethods.WxMinQr) && (
320
- <Tabs.TabPane
321
- key={LoginMethods.WxMinQr}
322
- tab={t('login.scanLogin')}
323
- >
324
- <LoginWithWechatMiniQrcode
325
- onLogin={onLogin}
326
- canLoop={canLoop}
327
- qrCodeScanOptions={props.config.qrCodeScanOptions}
328
- />
329
- </Tabs.TabPane>
330
- )}
331
- {ms?.includes(LoginMethods.AppQr) && (
332
- <Tabs.TabPane
333
- key={LoginMethods.AppQr}
334
- tab={t('login.appScanLogin')}
335
- >
336
- <LoginWithAppQrcode
337
- onLogin={onLogin}
338
- canLoop={canLoop}
339
- qrCodeScanOptions={props.config.qrCodeScanOptions}
340
- />
341
- </Tabs.TabPane>
342
- )}
343
- {ms?.includes(LoginMethods.WechatMpQrcode) && (
344
- <Tabs.TabPane
345
- key={LoginMethods.WechatMpQrcode}
346
- tab={t('login.wechatmpQrcode')}
347
- >
348
- <LoginWithWechatmpQrcode
349
- onLogin={onLogin}
350
- canLoop={canLoop}
351
- qrCodeScanOptions={props.config.qrCodeScanOptions}
352
- />
353
- </Tabs.TabPane>
354
- )}
355
- </Tabs>
356
- </div>
357
- )}
358
- <div className="g2-social-login">
359
- <SocialLogin
360
- appId={props.appId}
361
- config={props.config}
362
- onLogin={onLogin}
363
- />
364
- </div>
365
- <ChangeLanguage langRange={langRange} onLangChange={props.onLangChange} />
366
- </div>
367
- )
368
- }
@@ -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
- })