@dynamic-labs/sdk-react-core 4.0.0-alpha.8 → 4.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,17 @@
1
1
 
2
+ ## [4.0.0-alpha.9](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2024-10-11)
3
+
4
+
5
+ ### Features
6
+
7
+ * add support for fordefi wallet ([#7109](https://github.com/dynamic-labs/dynamic-auth/issues/7109)) ([1adb6b1](https://github.com/dynamic-labs/dynamic-auth/commit/1adb6b15b7f8e9156207ac7addf4368d27c1e371))
8
+ * support ability to define additional oauth scopes ([#7105](https://github.com/dynamic-labs/dynamic-auth/issues/7105)) ([b303203](https://github.com/dynamic-labs/dynamic-auth/commit/b303203e8041c0cbf5f8968df0d3cde04ed1b22a))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * add eip6963 for exodus evm ([#7094](https://github.com/dynamic-labs/dynamic-auth/issues/7094)) ([c1ec5ef](https://github.com/dynamic-labs/dynamic-auth/commit/c1ec5ef4b6a531c563be4b690aa5f2bd4e7e6a16))
14
+
2
15
  ## [4.0.0-alpha.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2024-10-07)
3
16
 
4
17
 
package/package.cjs CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.0.0-alpha.8";
6
+ var version = "4.0.0-alpha.9";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.535",
8
+ "@dynamic-labs/sdk-api-core": "0.0.545",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
10
10
  "country-list": "2.3.0",
11
11
  formik: "2.2.9",
package/package.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client'
2
- var version = "4.0.0-alpha.8";
2
+ var version = "4.0.0-alpha.9";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.535",
4
+ "@dynamic-labs/sdk-api-core": "0.0.545",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
6
6
  "country-list": "2.3.0",
7
7
  formik: "2.2.9",
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "4.0.0-alpha.8",
3
+ "version": "4.0.0-alpha.9",
4
4
  "dependencies": {
5
- "@dynamic-labs/sdk-api-core": "0.0.535",
5
+ "@dynamic-labs/sdk-api-core": "0.0.545",
6
6
  "@hcaptcha/react-hcaptcha": "1.4.4",
7
7
  "country-list": "2.3.0",
8
8
  "formik": "2.2.9",
@@ -12,16 +12,16 @@
12
12
  "react-i18next": "13.5.0",
13
13
  "yup": "0.32.11",
14
14
  "react-international-phone": "4.2.5",
15
- "@dynamic-labs/assert-package-version": "4.0.0-alpha.8",
16
- "@dynamic-labs/iconic": "4.0.0-alpha.8",
17
- "@dynamic-labs/logger": "4.0.0-alpha.8",
18
- "@dynamic-labs/multi-wallet": "4.0.0-alpha.8",
19
- "@dynamic-labs/rpc-providers": "4.0.0-alpha.8",
20
- "@dynamic-labs/store": "4.0.0-alpha.8",
21
- "@dynamic-labs/types": "4.0.0-alpha.8",
22
- "@dynamic-labs/utils": "4.0.0-alpha.8",
23
- "@dynamic-labs/wallet-book": "4.0.0-alpha.8",
24
- "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.8",
15
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.9",
16
+ "@dynamic-labs/iconic": "4.0.0-alpha.9",
17
+ "@dynamic-labs/logger": "4.0.0-alpha.9",
18
+ "@dynamic-labs/multi-wallet": "4.0.0-alpha.9",
19
+ "@dynamic-labs/rpc-providers": "4.0.0-alpha.9",
20
+ "@dynamic-labs/store": "4.0.0-alpha.9",
21
+ "@dynamic-labs/types": "4.0.0-alpha.9",
22
+ "@dynamic-labs/utils": "4.0.0-alpha.9",
23
+ "@dynamic-labs/wallet-book": "4.0.0-alpha.9",
24
+ "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.9",
25
25
  "eventemitter3": "5.0.1"
26
26
  },
27
27
  "devDependencies": {
@@ -8,61 +8,13 @@ var utils = require('@dynamic-labs/utils');
8
8
  var stringifyURIQuery = require('../stringifyURIQuery/stringifyURIQuery.cjs');
9
9
  var getProviderByType = require('../getProviderByType/getProviderByType.cjs');
10
10
 
11
- const OAUTH_LOGIN_DATA = {
12
- apple: {
13
- customMobileUrl: true,
14
- response_mode: 'form_post',
15
- response_type: ['code', 'id_token'],
16
- scope: ['name', 'email'],
17
- url: 'https://appleid.apple.com/auth/authorize',
18
- },
19
- coinbasesocial: {
20
- scope: ['wallet:accounts:read', 'wallet:user:email'],
21
- url: 'https://www.coinbase.com/oauth/authorize',
22
- },
23
- discord: {
24
- scope: ['identify', 'email'],
25
- url: 'https://discord.com/api/oauth2/authorize',
26
- },
27
- facebook: {
28
- scope: ['email', 'public_profile'],
29
- url: 'https://www.facebook.com/v3.2/dialog/oauth',
30
- },
31
- github: {
32
- scope: ['user:email', 'read:user'],
33
- url: 'https://github.com/login/oauth/authorize',
34
- },
35
- google: {
36
- scope: ['profile', 'email'],
37
- url: 'https://accounts.google.com/o/oauth2/v2/auth',
38
- },
39
- instagram: {
40
- scope: ['user_profile', 'user_media'],
41
- url: 'https://api.instagram.com/oauth/authorize',
42
- },
43
- telegram: {
44
- url: '', // will be constructed dynamically
45
- },
46
- twitch: {
47
- scope: ['user_read'],
48
- url: 'https://id.twitch.tv/oauth2/authorize',
49
- },
50
- twitter: {
51
- scope: ['users.read', 'tweet.read'],
52
- url: 'https://twitter.com/i/oauth2/authorize',
53
- },
54
- };
55
- const getProviderData = (provider) => {
56
- const entries = Object.entries(OAUTH_LOGIN_DATA);
57
- for (const [key, value] of entries) {
58
- if (key === provider) {
59
- return value;
60
- }
61
- }
62
- return null;
11
+ const APPLE_LOGIN_DATA = {
12
+ customMobileUrl: true,
13
+ response_mode: 'form_post',
14
+ response_type: ['code', 'id_token'],
63
15
  };
64
16
  const getMobileOauthUrl = (provider, loginData) => {
65
- if (!loginData.customMobileUrl || !utils.isMobile() || !provider.redirectUrl) {
17
+ if (!(loginData === null || loginData === void 0 ? void 0 : loginData.customMobileUrl) || !utils.isMobile() || !provider.redirectUrl) {
66
18
  return;
67
19
  }
68
20
  return provider.redirectUrl.replace('redirect', 'authorizeHtml');
@@ -73,12 +25,19 @@ const getOauthLoginUrl = (providers, providerType) => {
73
25
  if (!(provider === null || provider === void 0 ? void 0 : provider.clientId)) {
74
26
  return '';
75
27
  }
76
- const loginData = getProviderData(providerType);
77
- if (!loginData) {
78
- return '';
28
+ let loginData;
29
+ if (providerType === sdkApiCore.ProviderEnum.Apple) {
30
+ loginData = APPLE_LOGIN_DATA;
79
31
  }
32
+ let loginBaseUrl;
80
33
  if (providerType === sdkApiCore.ProviderEnum.Telegram) {
81
- loginData.url = (_a = provider.authorizationUrl) !== null && _a !== void 0 ? _a : '';
34
+ loginBaseUrl = (_a = provider.authorizationUrl) !== null && _a !== void 0 ? _a : '';
35
+ }
36
+ else if (provider.baseAuthUrl) {
37
+ loginBaseUrl = provider.baseAuthUrl;
38
+ }
39
+ else {
40
+ return '';
82
41
  }
83
42
  const mobileUrl = getMobileOauthUrl(provider, loginData);
84
43
  const baseProps = {
@@ -86,20 +45,20 @@ const getOauthLoginUrl = (providers, providerType) => {
86
45
  redirect_uri: (_b = provider.redirectUrl) !== null && _b !== void 0 ? _b : '',
87
46
  response_type: 'code',
88
47
  };
89
- if (loginData.scope) {
90
- baseProps.scope = loginData.scope.join(' ');
48
+ if (provider.scopes) {
49
+ baseProps.scope = provider.scopes;
91
50
  }
92
- if (loginData.prompt) {
51
+ if (loginData === null || loginData === void 0 ? void 0 : loginData.prompt) {
93
52
  baseProps.prompt = loginData.prompt.join(' ');
94
53
  }
95
- if (loginData.response_mode) {
54
+ if (loginData === null || loginData === void 0 ? void 0 : loginData.response_mode) {
96
55
  baseProps.response_mode = loginData.response_mode;
97
56
  }
98
- if (loginData.response_type) {
57
+ if (loginData === null || loginData === void 0 ? void 0 : loginData.response_type) {
99
58
  baseProps.response_type = loginData.response_type.join(' ');
100
59
  }
101
60
  const params = stringifyURIQuery.stringifyURIQuery(baseProps);
102
- return `${mobileUrl !== null && mobileUrl !== void 0 ? mobileUrl : loginData.url}?${params}`;
61
+ return `${mobileUrl !== null && mobileUrl !== void 0 ? mobileUrl : loginBaseUrl}?${params}`;
103
62
  };
104
63
 
105
64
  exports.getOauthLoginUrl = getOauthLoginUrl;
@@ -4,61 +4,13 @@ import { isMobile } from '@dynamic-labs/utils';
4
4
  import { stringifyURIQuery } from '../stringifyURIQuery/stringifyURIQuery.js';
5
5
  import { getProviderByType } from '../getProviderByType/getProviderByType.js';
6
6
 
7
- const OAUTH_LOGIN_DATA = {
8
- apple: {
9
- customMobileUrl: true,
10
- response_mode: 'form_post',
11
- response_type: ['code', 'id_token'],
12
- scope: ['name', 'email'],
13
- url: 'https://appleid.apple.com/auth/authorize',
14
- },
15
- coinbasesocial: {
16
- scope: ['wallet:accounts:read', 'wallet:user:email'],
17
- url: 'https://www.coinbase.com/oauth/authorize',
18
- },
19
- discord: {
20
- scope: ['identify', 'email'],
21
- url: 'https://discord.com/api/oauth2/authorize',
22
- },
23
- facebook: {
24
- scope: ['email', 'public_profile'],
25
- url: 'https://www.facebook.com/v3.2/dialog/oauth',
26
- },
27
- github: {
28
- scope: ['user:email', 'read:user'],
29
- url: 'https://github.com/login/oauth/authorize',
30
- },
31
- google: {
32
- scope: ['profile', 'email'],
33
- url: 'https://accounts.google.com/o/oauth2/v2/auth',
34
- },
35
- instagram: {
36
- scope: ['user_profile', 'user_media'],
37
- url: 'https://api.instagram.com/oauth/authorize',
38
- },
39
- telegram: {
40
- url: '', // will be constructed dynamically
41
- },
42
- twitch: {
43
- scope: ['user_read'],
44
- url: 'https://id.twitch.tv/oauth2/authorize',
45
- },
46
- twitter: {
47
- scope: ['users.read', 'tweet.read'],
48
- url: 'https://twitter.com/i/oauth2/authorize',
49
- },
50
- };
51
- const getProviderData = (provider) => {
52
- const entries = Object.entries(OAUTH_LOGIN_DATA);
53
- for (const [key, value] of entries) {
54
- if (key === provider) {
55
- return value;
56
- }
57
- }
58
- return null;
7
+ const APPLE_LOGIN_DATA = {
8
+ customMobileUrl: true,
9
+ response_mode: 'form_post',
10
+ response_type: ['code', 'id_token'],
59
11
  };
60
12
  const getMobileOauthUrl = (provider, loginData) => {
61
- if (!loginData.customMobileUrl || !isMobile() || !provider.redirectUrl) {
13
+ if (!(loginData === null || loginData === void 0 ? void 0 : loginData.customMobileUrl) || !isMobile() || !provider.redirectUrl) {
62
14
  return;
63
15
  }
64
16
  return provider.redirectUrl.replace('redirect', 'authorizeHtml');
@@ -69,12 +21,19 @@ const getOauthLoginUrl = (providers, providerType) => {
69
21
  if (!(provider === null || provider === void 0 ? void 0 : provider.clientId)) {
70
22
  return '';
71
23
  }
72
- const loginData = getProviderData(providerType);
73
- if (!loginData) {
74
- return '';
24
+ let loginData;
25
+ if (providerType === ProviderEnum.Apple) {
26
+ loginData = APPLE_LOGIN_DATA;
75
27
  }
28
+ let loginBaseUrl;
76
29
  if (providerType === ProviderEnum.Telegram) {
77
- loginData.url = (_a = provider.authorizationUrl) !== null && _a !== void 0 ? _a : '';
30
+ loginBaseUrl = (_a = provider.authorizationUrl) !== null && _a !== void 0 ? _a : '';
31
+ }
32
+ else if (provider.baseAuthUrl) {
33
+ loginBaseUrl = provider.baseAuthUrl;
34
+ }
35
+ else {
36
+ return '';
78
37
  }
79
38
  const mobileUrl = getMobileOauthUrl(provider, loginData);
80
39
  const baseProps = {
@@ -82,20 +41,20 @@ const getOauthLoginUrl = (providers, providerType) => {
82
41
  redirect_uri: (_b = provider.redirectUrl) !== null && _b !== void 0 ? _b : '',
83
42
  response_type: 'code',
84
43
  };
85
- if (loginData.scope) {
86
- baseProps.scope = loginData.scope.join(' ');
44
+ if (provider.scopes) {
45
+ baseProps.scope = provider.scopes;
87
46
  }
88
- if (loginData.prompt) {
47
+ if (loginData === null || loginData === void 0 ? void 0 : loginData.prompt) {
89
48
  baseProps.prompt = loginData.prompt.join(' ');
90
49
  }
91
- if (loginData.response_mode) {
50
+ if (loginData === null || loginData === void 0 ? void 0 : loginData.response_mode) {
92
51
  baseProps.response_mode = loginData.response_mode;
93
52
  }
94
- if (loginData.response_type) {
53
+ if (loginData === null || loginData === void 0 ? void 0 : loginData.response_type) {
95
54
  baseProps.response_type = loginData.response_type.join(' ');
96
55
  }
97
56
  const params = stringifyURIQuery(baseProps);
98
- return `${mobileUrl !== null && mobileUrl !== void 0 ? mobileUrl : loginData.url}?${params}`;
57
+ return `${mobileUrl !== null && mobileUrl !== void 0 ? mobileUrl : loginBaseUrl}?${params}`;
99
58
  };
100
59
 
101
60
  export { getOauthLoginUrl };