@authing/react-ui-components 2.4.54-alpha.0 → 2.4.56
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.
- package/build/asset-manifest.json +19 -18
- package/build/index.html +1 -1
- package/build/static/css/2.51c07e65.chunk.css +3 -0
- package/build/static/css/2.51c07e65.chunk.css.map +1 -0
- package/build/static/css/main.779f221a.chunk.css +2 -0
- package/build/static/css/main.779f221a.chunk.css.map +1 -0
- package/build/static/js/2.bbae9fdb.chunk.js +3 -0
- package/build/static/js/2.bbae9fdb.chunk.js.LICENSE.txt +102 -0
- package/build/static/js/2.bbae9fdb.chunk.js.map +1 -0
- package/build/static/js/{3.edcab7cd.chunk.js → 3.fd17f196.chunk.js} +2 -2
- package/build/static/js/3.fd17f196.chunk.js.map +1 -0
- package/build/static/js/main.5f341531.chunk.js +2 -0
- package/build/static/js/main.5f341531.chunk.js.map +1 -0
- package/build/static/js/runtime-main.ef138021.js +2 -0
- package/build/static/js/runtime-main.ef138021.js.map +1 -0
- package/build/static/media/loading.4a67a5f3.svg +29 -0
- package/lib/index.d.ts +14 -159
- package/lib/index.min.css +1 -2
- package/lib/index.min.js +1 -1
- package/lib/index.min.js.LICENSE.txt +8 -63
- package/package.json +3 -4
- package/src/common/AuthingDropdown/index.tsx +20 -58
- package/src/common/AuthingDropdown/style.less +8 -33
- package/src/components/AuthingGuard/AppMFALayout/index.tsx +15 -30
- package/src/components/AuthingGuard/GuardLayout/index.tsx +10 -32
- package/src/components/AuthingGuard/GuardLayout/style.less +0 -4
- package/src/components/AuthingGuard/Header/index.tsx +5 -2
- package/src/components/AuthingGuard/Header/style.less +23 -11
- package/src/components/AuthingGuard/IconFont/iconfont.js +74 -1
- package/src/components/AuthingGuard/api/appConfig.ts +2 -2
- package/src/components/AuthingGuard/api/http.ts +32 -9
- package/src/components/AuthingGuard/constants.ts +2 -0
- package/src/components/AuthingGuard/hooks/index.tsx +0 -37
- package/src/components/AuthingGuard/index.tsx +8 -3
- package/src/components/AuthingGuard/locales/en/common.json +1 -2
- package/src/components/AuthingGuard/locales/en/login.json +1 -1
- package/src/components/AuthingGuard/locales/zh/common.json +1 -16
- package/src/components/AuthingGuard/style.less +1 -0
- package/src/components/AuthingGuard/types/Forms.ts +0 -2
- package/src/components/AuthingGuard/types/GuardConfig.ts +1 -1
- package/src/context/global/reducer.tsx +0 -4
- package/src/index.tsx +16 -28
- package/src/utils/index.ts +0 -23
- package/build/static/css/2.40c24d2f.chunk.css +0 -2
- package/build/static/css/2.40c24d2f.chunk.css.map +0 -1
- package/build/static/css/main.ee0e3901.chunk.css +0 -2
- package/build/static/css/main.ee0e3901.chunk.css.map +0 -1
- package/build/static/js/2.354276b9.chunk.js +0 -3
- package/build/static/js/2.354276b9.chunk.js.LICENSE.txt +0 -156
- package/build/static/js/2.354276b9.chunk.js.map +0 -1
- package/build/static/js/3.edcab7cd.chunk.js.map +0 -1
- package/build/static/js/main.6c028b56.chunk.js +0 -2
- package/build/static/js/main.6c028b56.chunk.js.map +0 -1
- package/build/static/js/runtime-main.1b4b9135.js +0 -2
- package/build/static/js/runtime-main.1b4b9135.js.map +0 -1
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/AppDownload.tsx +0 -198
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/BindSuccess.tsx +0 -48
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/CopyIcon.tsx +0 -52
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/InputSaftyCode.tsx +0 -25
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/SaveSecretKey.tsx +0 -34
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/ScanQrcode.tsx +0 -44
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/index.tsx +0 -40
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/BindTotpForm/styles.less +0 -454
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/MobileSteps/index.tsx +0 -49
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/MobileSteps/style.less +0 -10
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/UserMfa/index.tsx +0 -361
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/UserMfa/style.less +0 -12
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/VerifyTotpForm.tsx +0 -120
- package/src/components/AuthingGuard/Forms/TotpMfaVerifyForm/index.tsx +0 -35
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"edcab7cd"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonp@authing/react-ui-components"]=this["webpackJsonp@authing/react-ui-components"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([]);
|
|
2
|
-
//# sourceMappingURL=runtime-main.1b4b9135.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","this","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime-main.1b4b9135.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"3\":\"edcab7cd\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = this[\"webpackJsonp@authing/react-ui-components\"] = this[\"webpackJsonp@authing/react-ui-components\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import React, { FC } from 'react'
|
|
2
|
-
import { Button } from 'antd'
|
|
3
|
-
import { useTranslation } from 'react-i18next'
|
|
4
|
-
import { IconFont } from '../../../IconFont'
|
|
5
|
-
import './styles.less'
|
|
6
|
-
import { getOS } from '../../../../../utils'
|
|
7
|
-
|
|
8
|
-
export interface AppDownloadProps {}
|
|
9
|
-
|
|
10
|
-
export const download_authenticator_config = {
|
|
11
|
-
Android: {
|
|
12
|
-
google:
|
|
13
|
-
'https://authing-public-cn.oss-cn-beijing.aliyuncs.com/public/Google%20Authenticator.apk',
|
|
14
|
-
microsoft: 'https://mobile.baidu.com/item?docid=27175919',
|
|
15
|
-
googleQRcode:
|
|
16
|
-
'https://files.authing.co/authing-user-portal/GoogleAuthenticator-Authing.png',
|
|
17
|
-
microsoftQRcode:
|
|
18
|
-
'https://files.authing.co/authing-user-portal/MicrosoftAuthenticator-Baidu.png',
|
|
19
|
-
},
|
|
20
|
-
iOS: {
|
|
21
|
-
google: 'https://apps.apple.com/us/app/google-authenticator/id388497605',
|
|
22
|
-
microsoft:
|
|
23
|
-
'https://apps.apple.com/us/app/microsoft-authenticator/id983156458',
|
|
24
|
-
googleQRcode:
|
|
25
|
-
'https://files.authing.co/authing-user-portal/GoogleAuthenticator-Apple.png',
|
|
26
|
-
microsoftQRcode:
|
|
27
|
-
'https://files.authing.co/authing-user-portal/MicrosoftAuthenticator-Apple.png',
|
|
28
|
-
},
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const GoogleApple = download_authenticator_config.iOS.googleQRcode
|
|
32
|
-
const MicrosoftApple = download_authenticator_config.iOS.microsoftQRcode
|
|
33
|
-
const GoogleAuthing = download_authenticator_config.Android.googleQRcode
|
|
34
|
-
const MicrosoftBaidu = download_authenticator_config.Android.microsoftQRcode
|
|
35
|
-
|
|
36
|
-
export const AppDownload: FC<AppDownloadProps> = () => {
|
|
37
|
-
const { t } = useTranslation()
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
<div className="appDownload">
|
|
41
|
-
<div className="item">
|
|
42
|
-
<div
|
|
43
|
-
className="logo"
|
|
44
|
-
style={{
|
|
45
|
-
background: '#EFF2F6',
|
|
46
|
-
}}
|
|
47
|
-
>
|
|
48
|
-
<IconFont
|
|
49
|
-
type="authing-apple-web"
|
|
50
|
-
style={{
|
|
51
|
-
fontSize: 30,
|
|
52
|
-
color: '#293350',
|
|
53
|
-
}}
|
|
54
|
-
/>
|
|
55
|
-
</div>
|
|
56
|
-
<span className="title">{t('common.downloadTotpAppIOS')}</span>
|
|
57
|
-
<span className="subtitle">{t('common.downloadTotpAppDocs')}</span>
|
|
58
|
-
<div className="QRCode">
|
|
59
|
-
<div className="QRCodeItem">
|
|
60
|
-
<div
|
|
61
|
-
className="image"
|
|
62
|
-
style={{
|
|
63
|
-
backgroundSize: 'contain',
|
|
64
|
-
backgroundRepeat: 'no-repeat',
|
|
65
|
-
backgroundPosition: 'center',
|
|
66
|
-
backgroundImage: `url('${GoogleApple}')`,
|
|
67
|
-
}}
|
|
68
|
-
/>
|
|
69
|
-
<span className="QRCodeText">Google Authenticator</span>
|
|
70
|
-
</div>
|
|
71
|
-
<div className="QRCodeItem">
|
|
72
|
-
<div
|
|
73
|
-
className="image"
|
|
74
|
-
style={{
|
|
75
|
-
backgroundSize: 'contain',
|
|
76
|
-
backgroundRepeat: 'no-repeat',
|
|
77
|
-
backgroundPosition: 'center',
|
|
78
|
-
backgroundImage: `url('${MicrosoftApple}')`,
|
|
79
|
-
}}
|
|
80
|
-
/>
|
|
81
|
-
<span className="QRCodeText">Microsoft Authenticator</span>
|
|
82
|
-
</div>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
<div className="item">
|
|
86
|
-
<div
|
|
87
|
-
className="logo"
|
|
88
|
-
style={{
|
|
89
|
-
background: '#28B1B0',
|
|
90
|
-
}}
|
|
91
|
-
>
|
|
92
|
-
<IconFont
|
|
93
|
-
type="authing-anzhuo"
|
|
94
|
-
style={{
|
|
95
|
-
fontSize: 30,
|
|
96
|
-
color: '#FFF',
|
|
97
|
-
}}
|
|
98
|
-
/>
|
|
99
|
-
</div>
|
|
100
|
-
<span className="title">{t('common.downloadTotpAppAndroid')}</span>
|
|
101
|
-
<span className="subtitle">{t('common.downloadTotpAppDocs')}</span>
|
|
102
|
-
<div className="QRCode">
|
|
103
|
-
<div className="QRCodeItem">
|
|
104
|
-
<div
|
|
105
|
-
className="image"
|
|
106
|
-
style={{
|
|
107
|
-
backgroundSize: 'contain',
|
|
108
|
-
backgroundRepeat: 'no-repeat',
|
|
109
|
-
backgroundPosition: 'center',
|
|
110
|
-
backgroundImage: `url('${GoogleAuthing}')`,
|
|
111
|
-
}}
|
|
112
|
-
/>
|
|
113
|
-
<span className="QRCodeText">Google Authenticator</span>
|
|
114
|
-
</div>
|
|
115
|
-
<div className="QRCodeItem">
|
|
116
|
-
<div
|
|
117
|
-
className="image"
|
|
118
|
-
style={{
|
|
119
|
-
backgroundSize: 'contain',
|
|
120
|
-
backgroundRepeat: 'no-repeat',
|
|
121
|
-
backgroundPosition: 'center',
|
|
122
|
-
backgroundImage: `url('${MicrosoftBaidu}')`,
|
|
123
|
-
}}
|
|
124
|
-
/>
|
|
125
|
-
<span className="QRCodeText">Microsoft Authenticator</span>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
</div>
|
|
129
|
-
</div>
|
|
130
|
-
)
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export const DOWNLOAD_AUTHENTICATOR_CONFIG = {
|
|
134
|
-
Android: {
|
|
135
|
-
google:
|
|
136
|
-
'https://authing-public-cn.oss-cn-beijing.aliyuncs.com/public/Google%20Authenticator.apk',
|
|
137
|
-
microsoft: 'https://mobile.baidu.com/item?docid=27175919',
|
|
138
|
-
},
|
|
139
|
-
iOS: {
|
|
140
|
-
google: 'https://apps.apple.com/us/app/google-authenticator/id388497605',
|
|
141
|
-
microsoft:
|
|
142
|
-
'https://apps.apple.com/us/app/microsoft-authenticator/id983156458',
|
|
143
|
-
},
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
export const MediaAppDownload: FC = () => {
|
|
147
|
-
const { t } = useTranslation()
|
|
148
|
-
const os = getOS()
|
|
149
|
-
|
|
150
|
-
const appDownloadConfig = [
|
|
151
|
-
{
|
|
152
|
-
name: 'Google Authenticator',
|
|
153
|
-
imageUrl:
|
|
154
|
-
'https://files.authing.co/authing-user-portal/logo-google%402x.png',
|
|
155
|
-
download: () => {
|
|
156
|
-
if (os && Object.keys(DOWNLOAD_AUTHENTICATOR_CONFIG).includes(os)) {
|
|
157
|
-
// @ts-ignore
|
|
158
|
-
window.open(`${DOWNLOAD_AUTHENTICATOR_CONFIG?.[os as never].google}`)
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
name: 'Microsoft Authenticator',
|
|
164
|
-
imageUrl:
|
|
165
|
-
'https://files.authing.co/authing-user-portal/logo-microsoft%402x.png',
|
|
166
|
-
download: () => {
|
|
167
|
-
if (os && Object.keys(DOWNLOAD_AUTHENTICATOR_CONFIG).includes(os)) {
|
|
168
|
-
window.open(
|
|
169
|
-
// @ts-ignore
|
|
170
|
-
`${DOWNLOAD_AUTHENTICATOR_CONFIG?.[os as never].microsoft}`
|
|
171
|
-
)
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
]
|
|
176
|
-
|
|
177
|
-
return (
|
|
178
|
-
<div className={'mediaAppDownload'}>
|
|
179
|
-
{appDownloadConfig.map((item, index) => (
|
|
180
|
-
<div className={'mediaAppDownloadItem'} key={index}>
|
|
181
|
-
<div className={'itemHeader'}>
|
|
182
|
-
<img src={item.imageUrl} alt="app logo" />
|
|
183
|
-
<span className="authing-mfa-dowload-item-title">{item.name}</span>
|
|
184
|
-
<span className=""></span>
|
|
185
|
-
</div>
|
|
186
|
-
<Button
|
|
187
|
-
className={'btnItem'}
|
|
188
|
-
size="large"
|
|
189
|
-
type="primary"
|
|
190
|
-
onClick={item.download}
|
|
191
|
-
>
|
|
192
|
-
{t('common.download')}
|
|
193
|
-
</Button>
|
|
194
|
-
</div>
|
|
195
|
-
))}
|
|
196
|
-
</div>
|
|
197
|
-
)
|
|
198
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import React, { FC, useEffect } from 'react'
|
|
2
|
-
import { Space } from 'antd'
|
|
3
|
-
import { TotpSource } from '../UserMfa'
|
|
4
|
-
import { User } from 'authing-js-sdk'
|
|
5
|
-
import { useTranslation } from 'react-i18next'
|
|
6
|
-
import { useGuardContext } from '../../../../../context/global/context'
|
|
7
|
-
|
|
8
|
-
export const BindSuccess: FC<{
|
|
9
|
-
totpSource?: TotpSource
|
|
10
|
-
user?: User
|
|
11
|
-
}> = ({ totpSource = TotpSource.SELF, user }) => {
|
|
12
|
-
const { t } = useTranslation()
|
|
13
|
-
|
|
14
|
-
const {
|
|
15
|
-
state: { guardEvents, authClient },
|
|
16
|
-
} = useGuardContext()
|
|
17
|
-
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
if (user && totpSource === TotpSource.APPLICATION) {
|
|
20
|
-
setTimeout(() => {
|
|
21
|
-
guardEvents.onLogin?.(user as any, authClient)
|
|
22
|
-
}, 1000)
|
|
23
|
-
}
|
|
24
|
-
}, [guardEvents, user, totpSource, authClient])
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
<Space size={16} direction="vertical">
|
|
28
|
-
<img
|
|
29
|
-
width="148"
|
|
30
|
-
height="148"
|
|
31
|
-
style={{
|
|
32
|
-
marginBottom: '34px',
|
|
33
|
-
}}
|
|
34
|
-
src={
|
|
35
|
-
'https://files.authing.co/authing-user-portal/mfa-bind-success.png'
|
|
36
|
-
}
|
|
37
|
-
alt="bind success"
|
|
38
|
-
/>
|
|
39
|
-
<h4 className={'subtitle'}>{t('user.bindSuccess')}</h4>
|
|
40
|
-
{/* {totpSource === TotpSource.APPLICATION ? (
|
|
41
|
-
<p className={'desc'}>{t('common.bindAppTotp')}</p>
|
|
42
|
-
) : (
|
|
43
|
-
<p className={'desc'}>{t('user.bindedMfa')}</p>
|
|
44
|
-
)} */}
|
|
45
|
-
<p className={'desc'}>{t('user.bindedMfa')}</p>
|
|
46
|
-
</Space>
|
|
47
|
-
)
|
|
48
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import React, { FC, useState } from 'react'
|
|
2
|
-
import { CheckOutlined, CopyOutlined } from '@ant-design/icons'
|
|
3
|
-
import { Tooltip } from 'antd'
|
|
4
|
-
import { useTranslation } from 'react-i18next'
|
|
5
|
-
|
|
6
|
-
export interface CopyIconProps {
|
|
7
|
-
copyValue: string
|
|
8
|
-
style?: React.CSSProperties
|
|
9
|
-
className?: string
|
|
10
|
-
}
|
|
11
|
-
const CopyIcon: FC<CopyIconProps> = ({ copyValue, className, style }) => {
|
|
12
|
-
const { t } = useTranslation()
|
|
13
|
-
|
|
14
|
-
const [isCopy, setIsCopy] = useState(false)
|
|
15
|
-
|
|
16
|
-
const onCopy = () => {
|
|
17
|
-
setIsCopy(true)
|
|
18
|
-
|
|
19
|
-
copyFunction(copyValue)
|
|
20
|
-
|
|
21
|
-
setTimeout(() => {
|
|
22
|
-
setIsCopy(false)
|
|
23
|
-
}, 1000)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return !isCopy ? (
|
|
27
|
-
<div className={className} style={style}>
|
|
28
|
-
<CopyOutlined onClick={onCopy} />
|
|
29
|
-
</div>
|
|
30
|
-
) : (
|
|
31
|
-
<div className={className} style={style}>
|
|
32
|
-
<Tooltip title={t('common.copyed')} visible={true}>
|
|
33
|
-
<CheckOutlined style={{ color: '#52c41a' }} />
|
|
34
|
-
</Tooltip>
|
|
35
|
-
</div>
|
|
36
|
-
)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export const copyFunction = (copyValue: string) => {
|
|
40
|
-
let transfer = document.createElement('input')
|
|
41
|
-
document.body.appendChild(transfer)
|
|
42
|
-
transfer.value = copyValue
|
|
43
|
-
transfer.focus()
|
|
44
|
-
transfer.select()
|
|
45
|
-
if (document.execCommand('copy')) {
|
|
46
|
-
document.execCommand('copy')
|
|
47
|
-
}
|
|
48
|
-
transfer.blur()
|
|
49
|
-
document.body.removeChild(transfer)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export default CopyIcon
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React, { FC } from 'react'
|
|
2
|
-
import { Space } from 'antd'
|
|
3
|
-
import { useTranslation } from 'react-i18next'
|
|
4
|
-
import { VerifyCodeInput } from '../../../../../common/VerifyCodeInput'
|
|
5
|
-
|
|
6
|
-
export const InputSaftyCode: FC<{
|
|
7
|
-
saftyCode: string[]
|
|
8
|
-
isPhoneMedia: boolean
|
|
9
|
-
setSaftyCode: (code: string[]) => void
|
|
10
|
-
}> = ({ saftyCode, setSaftyCode, isPhoneMedia }) => {
|
|
11
|
-
const { t } = useTranslation()
|
|
12
|
-
|
|
13
|
-
return (
|
|
14
|
-
<Space size={14} direction="vertical">
|
|
15
|
-
<h4 className={'subtitle'}>{t('user.inputSafteyCode')}</h4>
|
|
16
|
-
<p className={'desc'}>{t('user.viewInputSixCode')}</p>
|
|
17
|
-
<VerifyCodeInput
|
|
18
|
-
className={'saftyCodeInput'}
|
|
19
|
-
verifyCode={saftyCode}
|
|
20
|
-
setVerifyCode={setSaftyCode}
|
|
21
|
-
/>
|
|
22
|
-
<p className={'saftyCodeTip'}>{t('user.numberSafteyCode')}</p>
|
|
23
|
-
</Space>
|
|
24
|
-
)
|
|
25
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import React, { FC } from 'react'
|
|
2
|
-
import { useTranslation } from 'react-i18next'
|
|
3
|
-
import { Checkbox, Typography, Space } from 'antd'
|
|
4
|
-
|
|
5
|
-
const { Paragraph } = Typography
|
|
6
|
-
|
|
7
|
-
export const SaveSecretKey: FC<{
|
|
8
|
-
setIsSaved: Function
|
|
9
|
-
isSaved: boolean
|
|
10
|
-
secret: string
|
|
11
|
-
}> = ({ secret, isSaved, setIsSaved }) => {
|
|
12
|
-
const { t } = useTranslation()
|
|
13
|
-
|
|
14
|
-
const handleChange = (val: boolean) => {
|
|
15
|
-
setIsSaved(val)
|
|
16
|
-
}
|
|
17
|
-
return (
|
|
18
|
-
<Space size={16} direction="vertical">
|
|
19
|
-
<h4 className="subtitle">{t('user.saveSecret')}</h4>
|
|
20
|
-
<p className={'desc'}>{t('user.resetCodeDoWhat')}</p>
|
|
21
|
-
|
|
22
|
-
<Paragraph className={'secretParagraph'} copyable>
|
|
23
|
-
{secret}
|
|
24
|
-
</Paragraph>
|
|
25
|
-
|
|
26
|
-
<Checkbox
|
|
27
|
-
onChange={(evt: any) => handleChange(evt.target.checked)}
|
|
28
|
-
checked={isSaved}
|
|
29
|
-
>
|
|
30
|
-
{t('login.rememberedSecret')}
|
|
31
|
-
</Checkbox>
|
|
32
|
-
</Space>
|
|
33
|
-
)
|
|
34
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import React, { FC, useMemo } from 'react'
|
|
2
|
-
import { useTranslation } from 'react-i18next'
|
|
3
|
-
import { IconFont } from '../../../IconFont'
|
|
4
|
-
import CopyIcon from './CopyIcon'
|
|
5
|
-
|
|
6
|
-
export const ScanQrcode: FC<{
|
|
7
|
-
qrcode: string
|
|
8
|
-
secret: string
|
|
9
|
-
isPhoneMedia: boolean
|
|
10
|
-
userpoolName: string
|
|
11
|
-
}> = ({ qrcode, secret, isPhoneMedia, userpoolName }) => {
|
|
12
|
-
const { t } = useTranslation()
|
|
13
|
-
|
|
14
|
-
const desc = useMemo(
|
|
15
|
-
() =>
|
|
16
|
-
isPhoneMedia
|
|
17
|
-
? t('user.pleaseDownloadAuthenticatorMedia')
|
|
18
|
-
: t('user.pleaseDownloadAuthenticator'),
|
|
19
|
-
[t, isPhoneMedia]
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
return (
|
|
23
|
-
<div className="ScanQrcode">
|
|
24
|
-
{!isPhoneMedia ? (
|
|
25
|
-
<>
|
|
26
|
-
<h4 className="subtitle">{t('user.scanQrcode')}</h4>
|
|
27
|
-
<p className="desc">{desc}</p>
|
|
28
|
-
<img className="qrcode" src={qrcode} alt="qrcode" />
|
|
29
|
-
</>
|
|
30
|
-
) : (
|
|
31
|
-
<>
|
|
32
|
-
<h4 className="subtitle">{t('user.saveSecret')}</h4>
|
|
33
|
-
<div className="secretInput">
|
|
34
|
-
<div className="iconBox">
|
|
35
|
-
<IconFont type="authing-key-2-line" />
|
|
36
|
-
</div>
|
|
37
|
-
{t('common.secret')}: {secret}
|
|
38
|
-
<CopyIcon copyValue={secret} style={{ marginLeft: 'auto' }} />
|
|
39
|
-
</div>
|
|
40
|
-
</>
|
|
41
|
-
)}
|
|
42
|
-
</div>
|
|
43
|
-
)
|
|
44
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import React, { FC, useEffect } from 'react'
|
|
2
|
-
import { useGuardContext } from 'src/context/global/context'
|
|
3
|
-
import { UserMfa, TotpSource } from '../UserMfa/'
|
|
4
|
-
|
|
5
|
-
export const BindTotpForm: FC<any> = (props) => {
|
|
6
|
-
const { onSuccess, onFail } = props
|
|
7
|
-
const {
|
|
8
|
-
state: { mfaData, userPoolId, appId },
|
|
9
|
-
setValue,
|
|
10
|
-
} = useGuardContext()
|
|
11
|
-
|
|
12
|
-
const { state } = useGuardContext()
|
|
13
|
-
|
|
14
|
-
console.log(state)
|
|
15
|
-
|
|
16
|
-
// 略微调整一下 Layout
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
setValue('guardSize', 'large')
|
|
19
|
-
setValue('showHeader', false)
|
|
20
|
-
setValue('showBottom', false)
|
|
21
|
-
|
|
22
|
-
return () => {
|
|
23
|
-
setValue('guardSize', 'middle')
|
|
24
|
-
setValue('showHeader', true)
|
|
25
|
-
setValue('showBottom', true)
|
|
26
|
-
}
|
|
27
|
-
}, [setValue])
|
|
28
|
-
|
|
29
|
-
return (
|
|
30
|
-
<UserMfa
|
|
31
|
-
userpoolName={''}
|
|
32
|
-
userPoolId={userPoolId}
|
|
33
|
-
appId={appId}
|
|
34
|
-
totpSource={TotpSource.APPLICATION}
|
|
35
|
-
MFAToken={mfaData.mfaToken as string}
|
|
36
|
-
onSuccess={onSuccess}
|
|
37
|
-
onFail={onFail}
|
|
38
|
-
/>
|
|
39
|
-
)
|
|
40
|
-
}
|