@dynamic-labs/sdk-react-core 3.0.0-alpha.44 → 3.0.0-alpha.45
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/CHANGELOG.md +8 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +12 -12
- package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.cjs +5 -1
- package/src/lib/context/SocialRedirectContext/hooks/useRedirectSocialHandler/useRedirectSocialHandler.js +5 -1
- package/src/lib/utils/functions/socialStorage/socialStorage.d.ts +2 -0
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +3 -2
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +3 -2
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
|
|
2
|
+
## [3.0.0-alpha.45](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.44...v3.0.0-alpha.45) (2024-08-16)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* always check for dynamicOauthCode and use during signin or verify ([#6618](https://github.com/dynamic-labs/DynamicAuth/issues/6618)) ([dd33231](https://github.com/dynamic-labs/DynamicAuth/commit/dd332310c9fdfa7bb593b7f567751133a93c6938))
|
|
8
|
+
* display qr code when no primary is selected ([#6605](https://github.com/dynamic-labs/DynamicAuth/issues/6605)) ([406afa3](https://github.com/dynamic-labs/DynamicAuth/commit/406afa32b38a29a2d8ce96803ae45ab35adb5ce3))
|
|
9
|
+
|
|
2
10
|
## [3.0.0-alpha.44](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.43...v3.0.0-alpha.44) (2024-08-15)
|
|
3
11
|
|
|
4
12
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.45",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
"react-i18next": "13.5.0",
|
|
18
18
|
"yup": "0.32.11",
|
|
19
19
|
"react-international-phone": "4.2.5",
|
|
20
|
-
"@dynamic-labs/iconic": "3.0.0-alpha.
|
|
21
|
-
"@dynamic-labs/logger": "3.0.0-alpha.
|
|
22
|
-
"@dynamic-labs/message-transport": "3.0.0-alpha.
|
|
23
|
-
"@dynamic-labs/multi-wallet": "3.0.0-alpha.
|
|
24
|
-
"@dynamic-labs/rpc-providers": "3.0.0-alpha.
|
|
25
|
-
"@dynamic-labs/store": "3.0.0-alpha.
|
|
26
|
-
"@dynamic-labs/types": "3.0.0-alpha.
|
|
27
|
-
"@dynamic-labs/utils": "3.0.0-alpha.
|
|
28
|
-
"@dynamic-labs/viem-utils": "3.0.0-alpha.
|
|
29
|
-
"@dynamic-labs/wallet-book": "3.0.0-alpha.
|
|
30
|
-
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.
|
|
20
|
+
"@dynamic-labs/iconic": "3.0.0-alpha.45",
|
|
21
|
+
"@dynamic-labs/logger": "3.0.0-alpha.45",
|
|
22
|
+
"@dynamic-labs/message-transport": "3.0.0-alpha.45",
|
|
23
|
+
"@dynamic-labs/multi-wallet": "3.0.0-alpha.45",
|
|
24
|
+
"@dynamic-labs/rpc-providers": "3.0.0-alpha.45",
|
|
25
|
+
"@dynamic-labs/store": "3.0.0-alpha.45",
|
|
26
|
+
"@dynamic-labs/types": "3.0.0-alpha.45",
|
|
27
|
+
"@dynamic-labs/utils": "3.0.0-alpha.45",
|
|
28
|
+
"@dynamic-labs/viem-utils": "3.0.0-alpha.45",
|
|
29
|
+
"@dynamic-labs/wallet-book": "3.0.0-alpha.45",
|
|
30
|
+
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.45",
|
|
31
31
|
"eventemitter3": "5.0.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -122,12 +122,15 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
|
|
|
122
122
|
return;
|
|
123
123
|
const url = new URL(window.location.href);
|
|
124
124
|
const dynamicOauthState = url.searchParams.get('dynamicOauthState');
|
|
125
|
-
|
|
125
|
+
const dynamicOauthCode = url.searchParams.get('dynamicOauthCode');
|
|
126
|
+
if (!dynamicOauthState || !dynamicOauthCode) {
|
|
126
127
|
return;
|
|
127
128
|
}
|
|
128
129
|
const socialStorageItem = socialStorage.searchSocialStorageByState(dynamicOauthState);
|
|
129
130
|
if (!socialStorageItem)
|
|
130
131
|
return;
|
|
132
|
+
// we got back the dynamicOauthCode from the oauth provider, set it here so we can use it to sign in
|
|
133
|
+
socialStorageItem.code = dynamicOauthCode;
|
|
131
134
|
setSocialStorageItem(socialStorageItem);
|
|
132
135
|
// Clear the state from local storage
|
|
133
136
|
socialStorage.deleteSocialStorage(socialStorageItem.provider);
|
|
@@ -144,6 +147,7 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
|
|
|
144
147
|
updateInterfaceStateForLink();
|
|
145
148
|
}
|
|
146
149
|
yield completeConnection({
|
|
150
|
+
authCode: socialStorageItem.code,
|
|
147
151
|
authMode,
|
|
148
152
|
captchaToken: socialStorageItem.captchaToken,
|
|
149
153
|
provider: socialStorageItem.provider,
|
|
@@ -118,12 +118,15 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
|
|
|
118
118
|
return;
|
|
119
119
|
const url = new URL(window.location.href);
|
|
120
120
|
const dynamicOauthState = url.searchParams.get('dynamicOauthState');
|
|
121
|
-
|
|
121
|
+
const dynamicOauthCode = url.searchParams.get('dynamicOauthCode');
|
|
122
|
+
if (!dynamicOauthState || !dynamicOauthCode) {
|
|
122
123
|
return;
|
|
123
124
|
}
|
|
124
125
|
const socialStorageItem = searchSocialStorageByState(dynamicOauthState);
|
|
125
126
|
if (!socialStorageItem)
|
|
126
127
|
return;
|
|
128
|
+
// we got back the dynamicOauthCode from the oauth provider, set it here so we can use it to sign in
|
|
129
|
+
socialStorageItem.code = dynamicOauthCode;
|
|
127
130
|
setSocialStorageItem(socialStorageItem);
|
|
128
131
|
// Clear the state from local storage
|
|
129
132
|
deleteSocialStorage(socialStorageItem.provider);
|
|
@@ -140,6 +143,7 @@ const useRedirectSocialHandler = ({ setSocialProvider, }) => {
|
|
|
140
143
|
updateInterfaceStateForLink();
|
|
141
144
|
}
|
|
142
145
|
yield completeConnection({
|
|
146
|
+
authCode: socialStorageItem.code,
|
|
143
147
|
authMode,
|
|
144
148
|
captchaToken: socialStorageItem.captchaToken,
|
|
145
149
|
provider: socialStorageItem.provider,
|
|
@@ -8,6 +8,8 @@ export type SocialStorageItem = {
|
|
|
8
8
|
codeVerifier: string | undefined;
|
|
9
9
|
/** Captcha token used to verify the user is not a bot */
|
|
10
10
|
captchaToken?: string;
|
|
11
|
+
/** Oauth code from redirect from oauth provider, this will be provided on response from redirect endpoint **/
|
|
12
|
+
code?: string;
|
|
11
13
|
};
|
|
12
14
|
export type SocialStorage = Partial<Record<ProviderEnum, SocialStorageItem>>;
|
|
13
15
|
export declare const searchSocialStorageByState: (targetState: string) => SocialStorageItem | undefined;
|
|
@@ -241,7 +241,7 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
241
241
|
const mobileRedirectUrl = effectiveRedirectUrl || window.location.href;
|
|
242
242
|
return oauth.initAuth(environmentId, provider, {
|
|
243
243
|
redirectUrl: isMobile
|
|
244
|
-
?
|
|
244
|
+
? removeDynamicOauthParamsFromUrl(mobileRedirectUrl)
|
|
245
245
|
: undefined,
|
|
246
246
|
state,
|
|
247
247
|
});
|
|
@@ -394,9 +394,10 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
394
394
|
setIsProcessing,
|
|
395
395
|
};
|
|
396
396
|
};
|
|
397
|
-
const
|
|
397
|
+
const removeDynamicOauthParamsFromUrl = (url) => {
|
|
398
398
|
const urlObject = new URL(url);
|
|
399
399
|
urlObject.searchParams.delete('dynamicOauthState');
|
|
400
|
+
urlObject.searchParams.delete('dynamicOauthCode');
|
|
400
401
|
return urlObject.toString();
|
|
401
402
|
};
|
|
402
403
|
|
|
@@ -237,7 +237,7 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
237
237
|
const mobileRedirectUrl = effectiveRedirectUrl || window.location.href;
|
|
238
238
|
return initAuth(environmentId, provider, {
|
|
239
239
|
redirectUrl: isMobile$1
|
|
240
|
-
?
|
|
240
|
+
? removeDynamicOauthParamsFromUrl(mobileRedirectUrl)
|
|
241
241
|
: undefined,
|
|
242
242
|
state,
|
|
243
243
|
});
|
|
@@ -390,9 +390,10 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
390
390
|
setIsProcessing,
|
|
391
391
|
};
|
|
392
392
|
};
|
|
393
|
-
const
|
|
393
|
+
const removeDynamicOauthParamsFromUrl = (url) => {
|
|
394
394
|
const urlObject = new URL(url);
|
|
395
395
|
urlObject.searchParams.delete('dynamicOauthState');
|
|
396
|
+
urlObject.searchParams.delete('dynamicOauthCode');
|
|
396
397
|
return urlObject.toString();
|
|
397
398
|
};
|
|
398
399
|
|
|
@@ -177,7 +177,7 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
177
177
|
const setPrimaryWallet = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
178
178
|
const { newWallet: newPrimaryWallet, connectedAccounts } = yield getSelectedWallet(walletId);
|
|
179
179
|
newPrimaryWallet.isPrimary = true;
|
|
180
|
-
if (!primaryWalletId) {
|
|
180
|
+
if (!primaryWalletId && !checkIfShowQrCodeModal(newPrimaryWallet)) {
|
|
181
181
|
yield newPrimaryWallet.connector.connect();
|
|
182
182
|
setPrimaryWalletId(walletId);
|
|
183
183
|
return;
|
|
@@ -173,7 +173,7 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
173
173
|
const setPrimaryWallet = useCallback((walletId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
174
174
|
const { newWallet: newPrimaryWallet, connectedAccounts } = yield getSelectedWallet(walletId);
|
|
175
175
|
newPrimaryWallet.isPrimary = true;
|
|
176
|
-
if (!primaryWalletId) {
|
|
176
|
+
if (!primaryWalletId && !checkIfShowQrCodeModal(newPrimaryWallet)) {
|
|
177
177
|
yield newPrimaryWallet.connector.connect();
|
|
178
178
|
setPrimaryWalletId(walletId);
|
|
179
179
|
return;
|