@springmicro/auth 0.1.9 → 0.2.0-alpha.0
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/dist/Index-652aeb8c-BTQ1rBi7.js +2818 -0
- package/dist/Index-c419311f-BOZhAAW3.js +1054 -0
- package/dist/Web3Auth-hACKSouN.js +32769 -0
- package/dist/alphawallet-B7eovdf-.js +26 -0
- package/dist/apexwallet-ysP20G9D.js +93 -0
- package/dist/atoken-BBnNTzcz.js +27 -0
- package/dist/bifrostwallet-CNNBO92h.js +11 -0
- package/dist/binance-DvPgAzCw.js +14 -0
- package/dist/bitget-DZOUrwgy.js +4 -0
- package/dist/bitpie-C_uxmEzw.js +25 -0
- package/dist/bitski-DpzkHNkv.js +4 -0
- package/dist/blockwallet-BL69cqkA.js +8 -0
- package/dist/brave-DnRzMQYW.js +35 -0
- package/dist/ccip-c78d2f16-DLcRlwod.js +165 -0
- package/dist/coin98wallet-CkFdOvXt.js +4 -0
- package/dist/coinbase-CaGNx5if.js +9 -0
- package/dist/core-9rK8tWud.js +7 -0
- package/dist/defiwallet-0AsgJBSy.js +10 -0
- package/dist/detected-CX_JZaUk.js +6 -0
- package/dist/echooo-CmaetT_Z.js +14 -0
- package/dist/enkrypt-BibtwvK7.js +20 -0
- package/dist/exodus-BxzkDWWP.js +4 -0
- package/dist/fordefi-CvKyVwhI.js +6 -0
- package/dist/foxwallet-D7c_LDTf.js +4 -0
- package/dist/frame-CDfNmjUy.js +7 -0
- package/dist/frontier-DqKNSj2z.js +8 -0
- package/dist/huobiwallet-CxSwqa5L.js +14 -0
- package/dist/hyperpay-nmHE3WqM.js +7 -0
- package/dist/icon-2Zqy7pqQ.js +8 -0
- package/dist/icon-CGWI1Ies.js +43 -0
- package/dist/icon-C_O4nprO.js +9 -0
- package/dist/icon-DbgmZCnU.js +9 -0
- package/dist/icon-cAd7RhSC.js +9 -0
- package/dist/icon-duCa3gfT.js +11 -0
- package/dist/imtoken-yENtOTS3.js +17 -0
- package/dist/index-021f6a62-Zz543EDB.js +2583 -0
- package/dist/index-40a497ea-Bn2mC0r7.js +1010 -0
- package/dist/index-BHkXn9Ss.js +4010 -0
- package/dist/index-BaYEABY7.js +7089 -0
- package/dist/index-BtLU53lm.js +6023 -0
- package/dist/index-CynP9H3X.js +6188 -0
- package/dist/index-Dg8m-Szw.js +31 -0
- package/dist/index-Dt6M8ha9.js +161 -0
- package/dist/index-DtJfAdfq.js +5822 -0
- package/dist/index-klU8YB0c.js +1983 -0
- package/dist/index.d.ts +124 -0
- package/dist/index.js +5 -43
- package/dist/index.umd.cjs +1937 -1
- package/dist/infinitywallet-C8J4FUYw.js +42 -0
- package/dist/kayros-AIrUK1za.js +27 -0
- package/dist/lif3wallet-C5D6r8pg.js +41 -0
- package/dist/liquality-nbCtErVq.js +16 -0
- package/dist/mathwallet-CWkivCXo.js +50 -0
- package/dist/meetone-kKmvI8md.js +13 -0
- package/dist/metamask-BN7yiDV1.js +64 -0
- package/dist/mykey-CQZ6UcLH.js +13 -0
- package/dist/number-BXHWhlom.js +1529 -0
- package/dist/okxwallet-CJLVogh2.js +8 -0
- package/dist/oneInch-CciyZ4Pz.js +72 -0
- package/dist/onekey-Dal8kYjU.js +9 -0
- package/dist/opera-DnKg-TJU.js +24 -0
- package/dist/ownbit-BshJUVuW.js +18 -0
- package/dist/phantom-CJ8dIcov.js +35 -0
- package/dist/rabby-D4thTcd6.js +27 -0
- package/dist/rainbow-mXld6yWV.js +69 -0
- package/dist/roninwallet-ZyYrd-D1.js +9 -0
- package/dist/safeheron-Eg1Jb29V.js +23 -0
- package/dist/safepal-DVIKy94N.js +105 -0
- package/dist/sequence-BS2IbtDg.js +70 -0
- package/dist/stablewallet-jyB079Wb.js +20 -0
- package/dist/status-FrAvQjfn.js +4 -0
- package/dist/subwallet-DMvFqKyY.js +25 -0
- package/dist/talisman-Bp8zUXqB.js +16 -0
- package/dist/tallywallet-B4OS9nIr.js +16 -0
- package/dist/tokenary-C7jjcbQa.js +18 -0
- package/dist/tokenpocket-9ZRPmAFA.js +28 -0
- package/dist/tp-V2em5bdl.js +13 -0
- package/dist/transactionRequest-be6a8ea9-CUKWo5mx.js +1117 -0
- package/dist/trust-gPypS1O7.js +11 -0
- package/dist/xdefi-COVIyGz4.js +38 -0
- package/dist/zeal-DxHbDqm0.js +9 -0
- package/dist/zerion-BfW0UElc.js +8 -0
- package/dist/zodiacpilot-CrId6F4w.js +6 -0
- package/package.json +35 -15
- package/src/auth/config.ts +0 -2
- package/src/components/SignUp.tsx +442 -0
- package/src/components/forms/AgreementModal.tsx +88 -0
- package/src/components/forms/CaptchaController.tsx +94 -0
- package/src/components/forms/CaptchaModal.jsx +171 -0
- package/src/components/forms/CaptchaWidget.jsx +146 -0
- package/src/components/forms/PasswordChecker.ts +88 -0
- package/src/components/forms/SendCodeInput.tsx +149 -0
- package/src/components/forms/SignUpFormItem.tsx +704 -0
- package/src/components/forms/util/application-api.ts +155 -0
- package/src/components/forms/util/auth-api.ts +198 -0
- package/src/components/forms/util/auth-util.tsx +346 -0
- package/src/components/forms/util/core.ts +493 -0
- package/src/components/forms/util/invitation-api.ts +132 -0
- package/src/components/forms/util/provider.tsx +603 -0
- package/src/components/forms/util/user-api.ts +303 -0
- package/src/components/provider/AdfsLoginButton.jsx +38 -0
- package/src/components/provider/AlipayLoginButton.jsx +38 -0
- package/src/components/provider/AppleLoginButton.jsx +38 -0
- package/src/components/provider/AzureADB2CLoginButton.jsx +38 -0
- package/src/components/provider/AzureADLoginButton.jsx +38 -0
- package/src/components/provider/BaiduLoginButton.jsx +38 -0
- package/src/components/provider/BilibiliLoginButton.jsx +37 -0
- package/src/components/provider/CasdoorLoginButton.jsx +38 -0
- package/src/components/provider/DingTalkLoginButton.jsx +37 -0
- package/src/components/provider/DouyinLoginButton.jsx +38 -0
- package/src/components/provider/FacebookLoginButton.jsx +37 -0
- package/src/components/provider/GitHubLoginButton.jsx +37 -0
- package/src/components/provider/GitLabLoginButton.jsx +38 -0
- package/src/components/provider/GiteeLoginButton.jsx +34 -0
- package/src/components/provider/GoogleLoginButton.jsx +68 -0
- package/src/components/provider/InfoflowLoginButton.jsx +38 -0
- package/src/components/provider/LarkLoginButton.jsx +38 -0
- package/src/components/provider/LinkedInLoginButton.jsx +37 -0
- package/src/components/provider/LoginButton.jsx +33 -0
- package/src/components/provider/OktaLoginButton.jsx +38 -0
- package/src/components/provider/Provider.jsx +3 -0
- package/src/components/provider/ProviderButton.jsx +327 -0
- package/src/components/provider/QqLoginButton.jsx +31 -0
- package/src/components/provider/SelfLoginButton.jsx +47 -0
- package/src/components/provider/SlackLoginButton.jsx +38 -0
- package/src/components/provider/SteamLoginButton.jsx +38 -0
- package/src/components/provider/WeComLoginButton.jsx +34 -0
- package/src/components/provider/Web3Auth.jsx +365 -0
- package/src/components/provider/WechatLoginButton.jsx +37 -0
- package/src/components/provider/WeiboLoginButton.jsx +34 -0
- package/src/components/util.tsx +173 -0
- package/src/i18n/en/signup.json +48 -0
- package/src/i18n/index.ts +17 -0
- package/src/index.tsx +6 -1
- package/vite.config.ts +33 -25
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const s = `
|
|
2
|
+
<svg width="100%" height="100%"
|
|
3
|
+
viewBox="0 0 40 40"
|
|
4
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
5
|
+
>
|
|
6
|
+
<path d="m1.36250526 6.825c-1.36250526 2.675-1.36250526 6.175-1.36250526 13.175s0 10.5 1.36250526 13.1750526c1.2 2.35 3.11249474 4.2624211 5.46249474 5.4624211 2.675 1.3625263 6.175 1.3625263 13.175 1.3625263s10.5 0 13.1750526-1.3625263c2.35-1.2 4.2624211-3.1124211 5.4624211-5.4624211 1.3625263-2.6750526 1.3625263-6.1750526 1.3625263-13.1750526s0-10.5-1.3625263-13.175c-1.2-2.35-3.1124211-4.26249474-5.4624211-5.46249474-2.6750526-1.36250526-6.1750526-1.36250526-13.1750526-1.36250526s-10.5 0-13.175 1.36250526c-2.35 1.2-4.26249474 3.11249474-5.46249474 5.46249474zm28.61875794 3.9624737c.35 0 .6812631.1437895.9250526.3875789.2436842.25.3812631.5874737.3751557.9311579-.0626294 3.7250527-.2064189 6.5750527-.4751557 8.8312632-.2625263 2.2563158-.6563158 3.9312631-1.25 5.2875789-.4.9062106-.8937895 1.6562106-1.4750526 2.2936842-.7812632.8437895-1.6749474 1.4563158-2.65 2.037579-.4168421.2492631-.8502106.4953684-1.3048421.7535789-.97.5508421-2.0365264 1.1565264-3.2451579 1.9651579-.4374737.2936842-1.0062106.2936842-1.4436843 0-1.2271578-.8181052-2.3077894-1.4312631-3.2866315-1.9865263-.2176842-.1234737-.4303158-.2441052-.6384211-.3634737-1.1436842-.6625263-2.1749474-1.2937894-3.0749474-2.2063158-.6-.6-1.1187368-1.3312631-1.5312631-2.2-.5625158-1.1625263-.94376843-2.5687368-1.22501054-4.3874736-.37501052-2.4312632-.56250526-5.6125264-.63146616-10.0250527-.0060391-.3436842.12521353-.6811579.3689609-.9311579.24374737-.2437894.5812526-.3875789.9312526-.3875789h.5375263c1.6562106.0063158 5.3124211-.1562105 8.4749474-2.61871581.4687369-.36250526 1.1250526-.36250526 1.5937895 0 3.1625263 2.46250531 6.8187368 2.62503161 8.4812631 2.61871581zm-2.9062106 14.6063158c.4062106-.837579.7437895-1.9937895 1-3.6563158.3062106-1.9874737.4937895-4.6874737.5812632-8.3624211-1.95-.0563158-5.3-.4312631-8.4937895-2.5812631-3.1936842 2.1436842-6.5436842 2.5187368-8.4874737 2.5812631.0687369 3.0374737.2062106 5.4.4249474 7.2562106.25 2.1125263.6063158 3.5437894 1.05 4.55.2937895.6687368.6188421 1.15 1.0063158 1.5749473.5187368.5688421 1.1749474 1.037579 2.0687368 1.5750527.3707369.222421.7794737.4537894 1.2244211.7056842.7927368.4486315 1.7003158.9623158 2.7130526 1.6068421.9941053-.634 1.8886316-1.1424211 2.6721053-1.5877895.2362105-.1342105.4622105-.2627368.6778947-.3872632 1.1-.6312631 1.9125263-1.1562105 2.5187369-1.7687368.4063157-.4187368.7375789-.8749474 1.0437894-1.5062105z" fill="#3375bb" fill-rule="evenodd"/>
|
|
7
|
+
</svg>
|
|
8
|
+
`;
|
|
9
|
+
export {
|
|
10
|
+
s as default
|
|
11
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const C = `<svg width="100%" height="100%" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path
|
|
3
|
+
d="M0 6.39161C0 2.86162 2.86162 0 6.39161 0H25.6084C29.1384 0 32 2.86162 32 6.39161V25.6084C32 29.1384 29.1384 32 25.6084 32H6.39161C2.86162 32 0 29.1384 0 25.6084V6.39161Z"
|
|
4
|
+
fill="url(#paint0_linear_5147_39366)"
|
|
5
|
+
/>
|
|
6
|
+
<path
|
|
7
|
+
d="M17.9111 17.198C16.4278 18.1222 14.4423 18.5981 12.4314 18.4964C10.7408 18.4133 9.35416 17.8033 8.51574 16.8006C7.77866 15.9042 7.49304 14.7213 7.68652 13.3604C7.7521 12.9082 7.88649 12.4687 8.08501 12.0574L8.11265 11.9996C8.80858 10.6557 9.8414 9.51667 11.1094 8.69468C12.3775 7.87269 13.8371 7.39605 15.3445 7.31166C16.852 7.22728 18.3553 7.53807 19.7067 8.21343C21.0581 8.88879 22.2108 9.90546 23.0515 11.1634C23.8922 12.4213 24.3919 13.8771 24.5013 15.3875C24.6108 16.898 24.3263 18.4109 23.6758 19.7776C23.0253 21.1442 22.0312 22.3174 20.7915 23.1817C19.5517 24.046 18.1089 24.5716 16.6051 24.7068L16.6973 25.7673C18.3856 25.6164 20.0057 25.027 21.3979 24.057C22.79 23.0871 23.9062 21.7701 24.6366 20.2358C25.3669 18.7015 25.6861 17.0028 25.5628 15.3071C25.4395 13.6114 24.8779 11.9771 23.9334 10.5653C22.9888 9.15357 21.6939 8.01297 20.1761 7.25591C18.6584 6.49886 16.9702 6.15146 15.2779 6.24795C13.5856 6.34444 11.9475 6.88149 10.5251 7.80618C9.10267 8.73087 7.94494 10.0113 7.16597 11.5214L7.12911 11.5976C6.88285 12.1081 6.71659 12.6536 6.63619 13.2149C6.40586 14.8737 6.76288 16.3501 7.69574 17.4868C8.71613 18.7298 10.3769 19.4691 12.3693 19.5662C14.7947 19.6886 17.2063 19.0255 18.9177 17.8056L17.9111 17.198Z"
|
|
8
|
+
fill="white"
|
|
9
|
+
/>
|
|
10
|
+
<path
|
|
11
|
+
d="M19.9398 18.4041C18.9746 19.245 16.7312 20.7699 13.0089 20.9778C8.84216 21.2089 7.10542 19.8504 7.0893 19.8365L6.75301 20.2524L7.0916 19.8434L6.41211 20.6613C6.48582 20.7237 8.15114 22.073 12.0623 22.073C12.3824 22.073 12.7187 22.073 13.0688 22.0452C17.5673 21.7934 20.0388 19.8249 20.9003 18.984L19.9398 18.4041Z"
|
|
12
|
+
fill="white"
|
|
13
|
+
/>
|
|
14
|
+
<path
|
|
15
|
+
d="M21.7454 19.5039C21.1748 20.2563 20.4723 20.8983 19.6724 21.3984C16.8531 23.2236 13.2668 23.4593 10.7561 23.3322L10.7031 24.3973C11.1246 24.4181 11.53 24.4273 11.9239 24.4273C19.0044 24.4273 21.8652 21.1928 22.6645 20.0376L21.7431 19.4946"
|
|
16
|
+
fill="white"
|
|
17
|
+
/>
|
|
18
|
+
<path
|
|
19
|
+
d="M21.4768 15.4712C21.9462 15.4712 22.3267 15.0895 22.3267 14.6187C22.3267 14.1479 21.9462 13.7662 21.4768 13.7662C21.0075 13.7662 20.627 14.1479 20.627 14.6187C20.627 15.0895 21.0075 15.4712 21.4768 15.4712Z"
|
|
20
|
+
fill="white"
|
|
21
|
+
/>
|
|
22
|
+
<defs>
|
|
23
|
+
<linearGradient
|
|
24
|
+
id="paint0_linear_5147_39366"
|
|
25
|
+
x1="13.7762"
|
|
26
|
+
y1="-3.85649"
|
|
27
|
+
x2="-11.5874"
|
|
28
|
+
y2="19.3182"
|
|
29
|
+
gradientUnits="userSpaceOnUse"
|
|
30
|
+
>
|
|
31
|
+
<stop stop-color="#4476F2" />
|
|
32
|
+
<stop offset="1" stop-color="#2041E0" />
|
|
33
|
+
</linearGradient>
|
|
34
|
+
</defs>
|
|
35
|
+
</svg>`;
|
|
36
|
+
export {
|
|
37
|
+
C as default
|
|
38
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const t = `<svg width="100%" height="100%" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="32" height="32" rx="10.3333" fill="#00FFFF"/>
|
|
3
|
+
<path d="M7.44031 24.5598H24.5597V16.8561H10.8642C8.97323 16.8561 7.44031 18.389 7.44031 20.28V24.5598Z" fill="#0B1821"/>
|
|
4
|
+
<path d="M24.5597 7.44043H7.44031V15.1442H21.1358C23.0268 15.1442 24.5597 13.6112 24.5597 11.7203V7.44043Z" fill="#0B1821"/>
|
|
5
|
+
</svg>
|
|
6
|
+
`;
|
|
7
|
+
export {
|
|
8
|
+
t as default
|
|
9
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const C = `<svg width="100%" height="100%" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M0 140.8C0 91.5154 0 66.8731 9.59143 48.0488C18.0283 31.4906 31.4906 18.0283 48.0488 9.59143C66.8731 0 91.5154 0 140.8 0H371.2C420.485 0 445.127 0 463.951 9.59143C480.509 18.0283 493.972 31.4906 502.409 48.0488C512 66.8731 512 91.5154 512 140.8V371.2C512 420.485 512 445.127 502.409 463.951C493.972 480.509 480.509 493.972 463.951 502.409C445.127 512 420.485 512 371.2 512H140.8C91.5154 512 66.8731 512 48.0488 502.409C31.4906 493.972 18.0283 480.509 9.59143 463.951C0 445.127 0 420.485 0 371.2V140.8Z" fill="#2962EF"/>
|
|
3
|
+
<path d="M111.048 128C102.274 128 98.8931 138.85 106.256 143.382L290.443 254.441C295.034 257.267 301.157 256.15 304.319 251.909L385.301 145.594C390.807 138.208 385.244 128 375.713 128H111.048Z" fill="white"/>
|
|
4
|
+
<path d="M400.538 384C409.311 384 412.78 373.092 405.419 368.561L221.178 257.516C216.587 254.69 210.612 255.948 207.452 260.188L126.312 366.482C120.808 373.866 126.545 384 136.074 384H400.538Z" fill="white"/>
|
|
5
|
+
</svg>`;
|
|
6
|
+
export {
|
|
7
|
+
C as default
|
|
8
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const A = `<svg width="100%" height="100%" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<image width="48" height="48" x="0" y="0" href="data:image/png;base64,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" />
|
|
3
|
+
</svg>`;
|
|
4
|
+
export {
|
|
5
|
+
A as default
|
|
6
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@springmicro/auth",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0-alpha.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -10,29 +10,49 @@
|
|
|
10
10
|
"main": "dist/index.js",
|
|
11
11
|
"types": "dist/index.d.ts",
|
|
12
12
|
"scripts": {
|
|
13
|
-
"dev": "vite",
|
|
13
|
+
"dev": "vite build --watch",
|
|
14
14
|
"build": "rm -rf dist && vite build",
|
|
15
15
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
16
16
|
"preview": "vite preview"
|
|
17
17
|
},
|
|
18
|
-
"
|
|
19
|
-
"auth-astro": "^4.1.
|
|
20
|
-
"react": "^18.
|
|
21
|
-
"react-dom": "^18.
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"auth-astro": "^4.1.0",
|
|
20
|
+
"react": "^18.0.0",
|
|
21
|
+
"react-dom": "^18.0.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/node": "^20.
|
|
25
|
-
"@types/react": "^18.
|
|
26
|
-
"@types/react-dom": "^18.
|
|
27
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
28
|
-
"@typescript-eslint/parser": "^7.
|
|
24
|
+
"@types/node": "^20.14.9",
|
|
25
|
+
"@types/react": "^18.3.3",
|
|
26
|
+
"@types/react-dom": "^18.3.0",
|
|
27
|
+
"@typescript-eslint/eslint-plugin": "^7.14.1",
|
|
28
|
+
"@typescript-eslint/parser": "^7.14.1",
|
|
29
29
|
"@vitejs/plugin-react": "^4.2.1",
|
|
30
|
-
"
|
|
30
|
+
"auth-astro": "^4.1.1",
|
|
31
|
+
"eslint": "^9.5.0",
|
|
31
32
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
32
33
|
"eslint-plugin-react-refresh": "^0.4.6",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
34
|
+
"i18next": "^23.11.2",
|
|
35
|
+
"i18next-browser-languagedetector": "^7.2.1",
|
|
36
|
+
"react-i18next": "^14.1.2",
|
|
37
|
+
"typescript": "^5.5.2",
|
|
38
|
+
"vite": "^5.3.1",
|
|
35
39
|
"vite-plugin-dts": "^3.9.0"
|
|
36
40
|
},
|
|
37
|
-
"
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@metamask/eth-sig-util": "^7.0.1",
|
|
43
|
+
"@web3-onboard/coinbase": "^2.2.7",
|
|
44
|
+
"@web3-onboard/core": "^2.21.6",
|
|
45
|
+
"@web3-onboard/frontier": "^2.0.4",
|
|
46
|
+
"@web3-onboard/gnosis": "^2.2.2",
|
|
47
|
+
"@web3-onboard/infinity-wallet": "^2.0.4",
|
|
48
|
+
"@web3-onboard/injected-wallets": "^2.10.16",
|
|
49
|
+
"@web3-onboard/taho": "^2.0.5",
|
|
50
|
+
"@web3-onboard/trust": "^2.0.4",
|
|
51
|
+
"buffer": "^6.0.3",
|
|
52
|
+
"libphonenumber-js": "^1.10.61",
|
|
53
|
+
"react-google-one-tap-login": "^0.1.1",
|
|
54
|
+
"react-social-login-buttons": "^4.1.0",
|
|
55
|
+
"uuid": "^9.0.1"
|
|
56
|
+
},
|
|
57
|
+
"gitHead": "99d420d7d0ad1b78e03e986fa190e89e793d43b3"
|
|
38
58
|
}
|
package/src/auth/config.ts
CHANGED
|
@@ -63,14 +63,12 @@ const getAuthConfig = ({
|
|
|
63
63
|
};
|
|
64
64
|
},
|
|
65
65
|
},
|
|
66
|
-
// ...add more providers here
|
|
67
66
|
],
|
|
68
67
|
pages: {
|
|
69
68
|
signIn: "/sign-in",
|
|
70
69
|
},
|
|
71
70
|
callbacks: {
|
|
72
71
|
async jwt({ token, account, user }: NextAuthJWT) {
|
|
73
|
-
console.log("JWT", token, account, user);
|
|
74
72
|
// Persist the OAuth access_token and or the user id to the token right after signin
|
|
75
73
|
if (account) {
|
|
76
74
|
token.accessToken = account.access_token ?? "";
|
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import * as Setting from "./forms/util/core";
|
|
3
|
+
import * as AuthBackend from "./forms/util/auth-api";
|
|
4
|
+
import * as ApplicationBackend from "./forms/util/application-api";
|
|
5
|
+
import * as AuthUtil from "./forms/util/auth-util";
|
|
6
|
+
import * as InvitationBackend from "./forms/util/invitation-api";
|
|
7
|
+
import * as UserBackend from "./forms/util/user-api";
|
|
8
|
+
import type { Invitation } from "./forms/util/invitation-api";
|
|
9
|
+
import type { Application } from "./forms/util/provider";
|
|
10
|
+
import { renderFormItem } from "./forms/SignUpFormItem";
|
|
11
|
+
import { I18nextProvider, useTranslation } from "react-i18next";
|
|
12
|
+
import i18n from "../i18n";
|
|
13
|
+
import {
|
|
14
|
+
type SignupItem,
|
|
15
|
+
getDefaultValues,
|
|
16
|
+
getFormProps,
|
|
17
|
+
getIcon,
|
|
18
|
+
getZod,
|
|
19
|
+
getPasswordVisibilityRecord,
|
|
20
|
+
getKey,
|
|
21
|
+
getType,
|
|
22
|
+
requiresCode,
|
|
23
|
+
} from "./util";
|
|
24
|
+
|
|
25
|
+
export type SignUpFormState = {
|
|
26
|
+
applicationName?: string | null;
|
|
27
|
+
name?: string;
|
|
28
|
+
password?: string;
|
|
29
|
+
confirm?: string;
|
|
30
|
+
username?: string;
|
|
31
|
+
email: string;
|
|
32
|
+
phone: string;
|
|
33
|
+
emailOrPhoneMode?: string;
|
|
34
|
+
countryCode: string;
|
|
35
|
+
emailCode: string;
|
|
36
|
+
phoneCode: string;
|
|
37
|
+
validEmail: boolean;
|
|
38
|
+
validPhone: boolean;
|
|
39
|
+
region: string;
|
|
40
|
+
isTermsOfUseVisible?: boolean;
|
|
41
|
+
termsOfUseContent: string;
|
|
42
|
+
invitationCode?: string;
|
|
43
|
+
invitation?: Invitation;
|
|
44
|
+
msg?: string;
|
|
45
|
+
agreement?: boolean;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
type SignUpFormProps = {
|
|
49
|
+
application: Application | null;
|
|
50
|
+
applicationName?: string;
|
|
51
|
+
|
|
52
|
+
// onUpdateAccount: (account: Account) => void;
|
|
53
|
+
onUpdateApplication: (application: Application | null) => void;
|
|
54
|
+
};
|
|
55
|
+
type Account = any;
|
|
56
|
+
|
|
57
|
+
function SignUpForm(props: SignUpFormProps) {
|
|
58
|
+
const { t, i18n } = useTranslation();
|
|
59
|
+
const [state, setState] = React.useState<SignUpFormState>({
|
|
60
|
+
applicationName: props.applicationName ?? null,
|
|
61
|
+
email: "",
|
|
62
|
+
phone: "",
|
|
63
|
+
emailOrPhoneMode: "",
|
|
64
|
+
countryCode: "",
|
|
65
|
+
emailCode: "",
|
|
66
|
+
phoneCode: "",
|
|
67
|
+
validEmail: false,
|
|
68
|
+
validPhone: false,
|
|
69
|
+
region: "",
|
|
70
|
+
isTermsOfUseVisible: false,
|
|
71
|
+
termsOfUseContent: "",
|
|
72
|
+
});
|
|
73
|
+
const form = React.useRef();
|
|
74
|
+
|
|
75
|
+
const getApplication = (applicationName?: string) => {
|
|
76
|
+
if (applicationName === undefined) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
ApplicationBackend.getApplication("admin", applicationName).then(
|
|
81
|
+
(res: any) => {
|
|
82
|
+
if (res.status === "error") {
|
|
83
|
+
Setting.showMessage("error", res.msg);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
onUpdateApplication(res.data);
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
};
|
|
91
|
+
const getApplicationLogin = (oAuthParams: any) => {
|
|
92
|
+
AuthBackend.getApplicationLogin(oAuthParams).then((res) => {
|
|
93
|
+
if (res.status === "ok") {
|
|
94
|
+
const application = res.data;
|
|
95
|
+
onUpdateApplication(application);
|
|
96
|
+
} else {
|
|
97
|
+
onUpdateApplication(null);
|
|
98
|
+
setState({
|
|
99
|
+
...state,
|
|
100
|
+
msg: res.msg,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
const getApplicationObj = () => {
|
|
107
|
+
return props.application;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const getInvitationCodeInfo = (
|
|
111
|
+
invitationCode: string,
|
|
112
|
+
application: string
|
|
113
|
+
) => {
|
|
114
|
+
InvitationBackend.getInvitationCodeInfo(invitationCode, application).then(
|
|
115
|
+
(res: any) => {
|
|
116
|
+
if (res.status === "error") {
|
|
117
|
+
Setting.showMessage("error", res.msg);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
setState({ ...state, invitation: res.data });
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
// const onUpdateAccount = (account: Account) => {
|
|
126
|
+
// props.onUpdateAccount(account);
|
|
127
|
+
// };
|
|
128
|
+
|
|
129
|
+
const onUpdateApplication = (application: Application | null) => {
|
|
130
|
+
props.onUpdateApplication(application);
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
React.useEffect(() => {
|
|
134
|
+
const oAuthParams = AuthUtil.getOAuthGetParameters();
|
|
135
|
+
if (oAuthParams !== null) {
|
|
136
|
+
const signinUrl = window.location.pathname.replace(
|
|
137
|
+
"/signup/oauth/authorize",
|
|
138
|
+
"/login/oauth/authorize"
|
|
139
|
+
);
|
|
140
|
+
sessionStorage.setItem("signinUrl", signinUrl + window.location.search);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (getApplicationObj() === undefined) {
|
|
144
|
+
if (state.applicationName !== null) {
|
|
145
|
+
getApplication(state.applicationName);
|
|
146
|
+
|
|
147
|
+
const sp = new URLSearchParams(window.location.search);
|
|
148
|
+
if (sp.has("invitationCode")) {
|
|
149
|
+
const invitationCode = sp.get("invitationCode") ?? "";
|
|
150
|
+
setState({ ...state, invitationCode });
|
|
151
|
+
if (invitationCode !== "") {
|
|
152
|
+
getInvitationCodeInfo(
|
|
153
|
+
invitationCode,
|
|
154
|
+
"admin/" + state.applicationName
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
} else if (oAuthParams !== null) {
|
|
159
|
+
getApplicationLogin(oAuthParams);
|
|
160
|
+
} else {
|
|
161
|
+
Setting.showMessage(
|
|
162
|
+
"error",
|
|
163
|
+
`Unknown application name: ${state.applicationName}`
|
|
164
|
+
);
|
|
165
|
+
onUpdateApplication(null);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}, []);
|
|
169
|
+
|
|
170
|
+
const application = getApplicationObj();
|
|
171
|
+
if (application === undefined || application === null) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
// return <div>SIGN UP</div>;
|
|
175
|
+
return application.signupItems?.map((signupItem, idx) => {
|
|
176
|
+
return (
|
|
177
|
+
<div key={idx}>
|
|
178
|
+
{renderFormItem(application, signupItem, state, setState, t)}
|
|
179
|
+
</div>
|
|
180
|
+
);
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
type SignUpState = {
|
|
185
|
+
application: Application | null;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
type SignUpProps = {
|
|
189
|
+
applicationName: string;
|
|
190
|
+
casdoorApiRoot: string;
|
|
191
|
+
springmicroApiRoot?: string;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
export function SignUp({
|
|
195
|
+
applicationName,
|
|
196
|
+
casdoorApiRoot,
|
|
197
|
+
springmicroApiRoot,
|
|
198
|
+
}: SignUpProps) {
|
|
199
|
+
Setting.ROOT_URLS.casdoor = casdoorApiRoot;
|
|
200
|
+
if (springmicroApiRoot) {
|
|
201
|
+
Setting.ROOT_URLS.springmicro = springmicroApiRoot;
|
|
202
|
+
}
|
|
203
|
+
const [state, setState] = React.useState<SignUpState>({ application: null });
|
|
204
|
+
|
|
205
|
+
const getApplication = () => {
|
|
206
|
+
ApplicationBackend.getApplication("admin", applicationName).then(
|
|
207
|
+
(res: any) => {
|
|
208
|
+
console.log(res);
|
|
209
|
+
if (res.status === "error") {
|
|
210
|
+
Setting.showMessage("error", res.msg);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
setState({
|
|
215
|
+
application: res.data,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
);
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
React.useEffect(() => {
|
|
222
|
+
// console.log(i18n.t("signup.username"));
|
|
223
|
+
getApplication();
|
|
224
|
+
}, []);
|
|
225
|
+
|
|
226
|
+
if (state.application === undefined) return <></>;
|
|
227
|
+
return (
|
|
228
|
+
<I18nextProvider i18n={i18n}>
|
|
229
|
+
<SignUpForm
|
|
230
|
+
application={state.application}
|
|
231
|
+
onUpdateApplication={(application) => {
|
|
232
|
+
setState({
|
|
233
|
+
application: application,
|
|
234
|
+
});
|
|
235
|
+
}}
|
|
236
|
+
/>
|
|
237
|
+
</I18nextProvider>
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
interface SignUpContextType {
|
|
242
|
+
application: Application;
|
|
243
|
+
getDefaultValues: typeof getDefaultValues;
|
|
244
|
+
getFormProps: typeof getFormProps;
|
|
245
|
+
icon: (
|
|
246
|
+
signupItem: SignupItem,
|
|
247
|
+
Button: React.JSX.ElementType
|
|
248
|
+
) => React.JSX.Element | null;
|
|
249
|
+
getZod: typeof getZod;
|
|
250
|
+
getKey: typeof getKey;
|
|
251
|
+
type: (signupItem: SignupItem) => string;
|
|
252
|
+
sendCode: typeof UserBackend.sendCode;
|
|
253
|
+
requiresCode: typeof requiresCode;
|
|
254
|
+
getCaptcha: typeof UserBackend.getCaptcha;
|
|
255
|
+
// updateApplication: (updates: Partial<Application>) => void;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
const SignUpContext = React.createContext<SignUpContextType | undefined>(
|
|
259
|
+
undefined
|
|
260
|
+
);
|
|
261
|
+
|
|
262
|
+
export function SignUpProvider({
|
|
263
|
+
applicationName,
|
|
264
|
+
casdoorApiRoot,
|
|
265
|
+
springmicroApiRoot,
|
|
266
|
+
children,
|
|
267
|
+
}: React.PropsWithChildren<SignUpProps>) {
|
|
268
|
+
const { t, i18n } = useTranslation();
|
|
269
|
+
Setting.ROOT_URLS.casdoor = casdoorApiRoot;
|
|
270
|
+
if (springmicroApiRoot) {
|
|
271
|
+
Setting.ROOT_URLS.springmicro = springmicroApiRoot;
|
|
272
|
+
}
|
|
273
|
+
const [state, setState] = React.useState<
|
|
274
|
+
SignUpState & Partial<SignUpFormState>
|
|
275
|
+
>({ application: null });
|
|
276
|
+
const [togglePasswordVisibility, setTogglePasswordVisibility] =
|
|
277
|
+
React.useState<Record<string, boolean>>({});
|
|
278
|
+
|
|
279
|
+
const getApplication = () => {
|
|
280
|
+
ApplicationBackend.getApplication("admin", applicationName).then(
|
|
281
|
+
(res: any) => {
|
|
282
|
+
console.log(res);
|
|
283
|
+
if (res.status === "error") {
|
|
284
|
+
Setting.showMessage("error", res.msg);
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
setState({
|
|
289
|
+
application: res.data,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
);
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
const onUpdateApplication = (application: Application) => {
|
|
296
|
+
setState({
|
|
297
|
+
application: application,
|
|
298
|
+
});
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
const getInvitationCodeInfo = (
|
|
302
|
+
invitationCode: string,
|
|
303
|
+
application: string
|
|
304
|
+
) => {
|
|
305
|
+
InvitationBackend.getInvitationCodeInfo(invitationCode, application).then(
|
|
306
|
+
(res: any) => {
|
|
307
|
+
if (res.status === "error") {
|
|
308
|
+
Setting.showMessage("error", res.msg);
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
setState({ ...state, invitation: res.data });
|
|
312
|
+
}
|
|
313
|
+
);
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
const getApplicationLogin = (oAuthParams: any) => {
|
|
317
|
+
AuthBackend.getApplicationLogin(oAuthParams).then((res) => {
|
|
318
|
+
if (res.status === "ok") {
|
|
319
|
+
const application = res.data;
|
|
320
|
+
onUpdateApplication(application);
|
|
321
|
+
} else {
|
|
322
|
+
onUpdateApplication(null);
|
|
323
|
+
setState({
|
|
324
|
+
...state,
|
|
325
|
+
msg: res.msg,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
const icon = (item: SignupItem, Button: React.JSX.ElementType) => {
|
|
332
|
+
return getIcon(
|
|
333
|
+
item,
|
|
334
|
+
{
|
|
335
|
+
password: {
|
|
336
|
+
state: togglePasswordVisibility,
|
|
337
|
+
setState: setTogglePasswordVisibility,
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
Button
|
|
341
|
+
);
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
const type = (item: SignupItem) => {
|
|
345
|
+
return getType(item, {
|
|
346
|
+
hidePassword: togglePasswordVisibility,
|
|
347
|
+
});
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
const sendCode = UserBackend.sendCode;
|
|
351
|
+
const getCaptcha = UserBackend.getCaptcha;
|
|
352
|
+
|
|
353
|
+
React.useEffect(() => {
|
|
354
|
+
// console.log(i18n.t("signup.username"));
|
|
355
|
+
getApplication();
|
|
356
|
+
}, []);
|
|
357
|
+
|
|
358
|
+
React.useEffect(() => {
|
|
359
|
+
if (state.application) {
|
|
360
|
+
setTogglePasswordVisibility(
|
|
361
|
+
getPasswordVisibilityRecord(state.application.signupItems)
|
|
362
|
+
);
|
|
363
|
+
}
|
|
364
|
+
}, [state.application]);
|
|
365
|
+
|
|
366
|
+
React.useEffect(() => {
|
|
367
|
+
const oAuthParams = AuthUtil.getOAuthGetParameters();
|
|
368
|
+
if (oAuthParams !== null) {
|
|
369
|
+
const signinUrl = window.location.pathname.replace(
|
|
370
|
+
"/signup/oauth/authorize",
|
|
371
|
+
"/login/oauth/authorize"
|
|
372
|
+
);
|
|
373
|
+
sessionStorage.setItem("signinUrl", signinUrl + window.location.search);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
if (state.application === undefined) {
|
|
377
|
+
if (state.applicationName !== null) {
|
|
378
|
+
getApplication();
|
|
379
|
+
|
|
380
|
+
const sp = new URLSearchParams(window.location.search);
|
|
381
|
+
if (sp.has("invitationCode")) {
|
|
382
|
+
const invitationCode = sp.get("invitationCode") ?? "";
|
|
383
|
+
setState({ ...state, invitationCode });
|
|
384
|
+
if (invitationCode !== "") {
|
|
385
|
+
getInvitationCodeInfo(
|
|
386
|
+
invitationCode,
|
|
387
|
+
"admin/" + state.applicationName
|
|
388
|
+
);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
} else if (oAuthParams !== null) {
|
|
392
|
+
getApplicationLogin(oAuthParams);
|
|
393
|
+
} else {
|
|
394
|
+
Setting.showMessage(
|
|
395
|
+
"error",
|
|
396
|
+
`Unknown application name: ${state.applicationName}`
|
|
397
|
+
);
|
|
398
|
+
onUpdateApplication(null);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}, []);
|
|
402
|
+
|
|
403
|
+
// const application = getApplicationObj();
|
|
404
|
+
if (state.application === undefined || state.application === null) {
|
|
405
|
+
return null;
|
|
406
|
+
}
|
|
407
|
+
// return <div>SIGN UP</div>;
|
|
408
|
+
// return state.application.signupItems?.map((signupItem, idx) => {
|
|
409
|
+
// return (
|
|
410
|
+
// <div key={idx}>
|
|
411
|
+
// {renderFormItem(state.application, signupItem, state, setState, t)}
|
|
412
|
+
// </div>
|
|
413
|
+
// );
|
|
414
|
+
// });
|
|
415
|
+
|
|
416
|
+
return (
|
|
417
|
+
<SignUpContext.Provider
|
|
418
|
+
value={{
|
|
419
|
+
application: state.application,
|
|
420
|
+
getDefaultValues,
|
|
421
|
+
getFormProps,
|
|
422
|
+
icon,
|
|
423
|
+
getZod,
|
|
424
|
+
getKey,
|
|
425
|
+
type,
|
|
426
|
+
sendCode,
|
|
427
|
+
requiresCode,
|
|
428
|
+
getCaptcha,
|
|
429
|
+
}}
|
|
430
|
+
>
|
|
431
|
+
{children}
|
|
432
|
+
</SignUpContext.Provider>
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
export const useSignUp = (): SignUpContextType => {
|
|
437
|
+
const context = React.useContext(SignUpContext);
|
|
438
|
+
if (!context) {
|
|
439
|
+
throw new Error("useSignUp must be used within a SignUpProvider");
|
|
440
|
+
}
|
|
441
|
+
return context;
|
|
442
|
+
};
|