@turnkey/react-wallet-kit 1.11.0 → 2.0.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.
Files changed (86) hide show
  1. package/dist/components/auth/OTP.d.ts +1 -0
  2. package/dist/components/auth/OTP.d.ts.map +1 -1
  3. package/dist/components/auth/OTP.js +8 -2
  4. package/dist/components/auth/OTP.js.map +1 -1
  5. package/dist/components/auth/OTP.mjs +21 -13
  6. package/dist/components/auth/OTP.mjs.map +1 -1
  7. package/dist/components/auth/index.d.ts.map +1 -1
  8. package/dist/components/auth/index.js +11 -3
  9. package/dist/components/auth/index.js.map +1 -1
  10. package/dist/components/auth/index.mjs +12 -5
  11. package/dist/components/auth/index.mjs.map +1 -1
  12. package/dist/components/user/UpdateEmail.js +6 -3
  13. package/dist/components/user/UpdateEmail.js.map +1 -1
  14. package/dist/components/user/UpdateEmail.mjs +6 -4
  15. package/dist/components/user/UpdateEmail.mjs.map +1 -1
  16. package/dist/components/user/UpdatePhoneNumber.js +6 -3
  17. package/dist/components/user/UpdatePhoneNumber.js.map +1 -1
  18. package/dist/components/user/UpdatePhoneNumber.mjs +6 -4
  19. package/dist/components/user/UpdatePhoneNumber.mjs.map +1 -1
  20. package/dist/index.d.ts +1 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +8 -4
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.mjs +1 -1
  25. package/dist/providers/client/Provider.d.ts.map +1 -1
  26. package/dist/providers/client/Provider.js +611 -430
  27. package/dist/providers/client/Provider.js.map +1 -1
  28. package/dist/providers/client/Provider.mjs +2055 -1820
  29. package/dist/providers/client/Provider.mjs.map +1 -1
  30. package/dist/providers/client/Types.d.ts +14 -7
  31. package/dist/providers/client/Types.d.ts.map +1 -1
  32. package/dist/providers/client/Types.js.map +1 -1
  33. package/dist/providers/client/Types.mjs.map +1 -1
  34. package/dist/typedoc-entry/index.d.ts +1 -1
  35. package/dist/typedoc-entry/index.d.ts.map +1 -1
  36. package/dist/types/base.d.ts +38 -28
  37. package/dist/types/base.d.ts.map +1 -1
  38. package/dist/types/base.js.map +1 -1
  39. package/dist/types/base.mjs.map +1 -1
  40. package/dist/types/method-types.d.ts +12 -5
  41. package/dist/types/method-types.d.ts.map +1 -1
  42. package/dist/utils/oauth/completion.d.ts +132 -0
  43. package/dist/utils/oauth/completion.d.ts.map +1 -0
  44. package/dist/utils/oauth/completion.js +136 -0
  45. package/dist/utils/oauth/completion.js.map +1 -0
  46. package/dist/utils/oauth/completion.mjs +176 -0
  47. package/dist/utils/oauth/completion.mjs.map +1 -0
  48. package/dist/utils/oauth/config.d.ts +34 -0
  49. package/dist/utils/oauth/config.d.ts.map +1 -0
  50. package/dist/utils/oauth/config.js +69 -0
  51. package/dist/utils/oauth/config.js.map +1 -0
  52. package/dist/utils/oauth/config.mjs +54 -0
  53. package/dist/utils/oauth/config.mjs.map +1 -0
  54. package/dist/utils/oauth/helpers.d.ts +13 -0
  55. package/dist/utils/oauth/helpers.d.ts.map +1 -0
  56. package/dist/utils/oauth/helpers.js +38 -0
  57. package/dist/utils/oauth/helpers.js.map +1 -0
  58. package/dist/utils/oauth/helpers.mjs +35 -0
  59. package/dist/utils/oauth/helpers.mjs.map +1 -0
  60. package/dist/utils/oauth/index.d.ts +7 -0
  61. package/dist/utils/oauth/index.d.ts.map +1 -0
  62. package/dist/utils/oauth/pkce.d.ts +14 -0
  63. package/dist/utils/oauth/pkce.d.ts.map +1 -0
  64. package/dist/utils/oauth/pkce.js +48 -0
  65. package/dist/utils/oauth/pkce.js.map +1 -0
  66. package/dist/utils/oauth/pkce.mjs +85 -0
  67. package/dist/utils/oauth/pkce.mjs.map +1 -0
  68. package/dist/utils/oauth/storage.d.ts +59 -0
  69. package/dist/utils/oauth/storage.d.ts.map +1 -0
  70. package/dist/utils/oauth/storage.js +116 -0
  71. package/dist/utils/oauth/storage.js.map +1 -0
  72. package/dist/utils/oauth/storage.mjs +104 -0
  73. package/dist/utils/oauth/storage.mjs.map +1 -0
  74. package/dist/utils/oauth/url.d.ts +92 -0
  75. package/dist/utils/oauth/url.d.ts.map +1 -0
  76. package/dist/utils/oauth/url.js +231 -0
  77. package/dist/utils/oauth/url.js.map +1 -0
  78. package/dist/utils/oauth/url.mjs +237 -0
  79. package/dist/utils/oauth/url.mjs.map +1 -0
  80. package/package.json +3 -3
  81. package/dist/utils/oauth.d.ts +0 -323
  82. package/dist/utils/oauth.d.ts.map +0 -1
  83. package/dist/utils/oauth.js +0 -613
  84. package/dist/utils/oauth.js.map +0 -1
  85. package/dist/utils/oauth.mjs +0 -670
  86. package/dist/utils/oauth.mjs.map +0 -1
@@ -0,0 +1,136 @@
1
+ 'use strict';
2
+
3
+ var sdkTypes = require('@turnkey/sdk-types');
4
+ var storage = require('./storage.js');
5
+ var config = require('./config.js');
6
+
7
+ /**
8
+ * Unified OAuth completion handler.
9
+ * Routes to the appropriate completion handler based on params:
10
+ * Priority: onAddProvider > onOauthSuccess > callbacks.onOauthRedirect > completeOauth
11
+ *
12
+ * This is the core completion logic used by both popup and redirect flows.
13
+ */
14
+ async function completeOAuthFlow(params) {
15
+ const {
16
+ provider,
17
+ publicKey,
18
+ oidcToken,
19
+ sessionKey,
20
+ callbacks,
21
+ completeOauth,
22
+ onOauthSuccess,
23
+ onAddProvider
24
+ } = params;
25
+ if (onAddProvider) {
26
+ await onAddProvider(oidcToken);
27
+ } else if (onOauthSuccess) {
28
+ onOauthSuccess({
29
+ publicKey,
30
+ oidcToken,
31
+ providerName: provider,
32
+ ...(sessionKey && {
33
+ sessionKey
34
+ })
35
+ });
36
+ } else if (callbacks?.onOauthRedirect) {
37
+ callbacks.onOauthRedirect({
38
+ idToken: oidcToken,
39
+ publicKey,
40
+ ...(sessionKey && {
41
+ sessionKey
42
+ })
43
+ });
44
+ } else {
45
+ await completeOauth({
46
+ oidcToken,
47
+ publicKey,
48
+ providerName: provider,
49
+ ...(sessionKey && {
50
+ sessionKey
51
+ })
52
+ });
53
+ }
54
+ }
55
+ /**
56
+ * Completes OAuth flow in popup - handles both PKCE and non-PKCE providers
57
+ */
58
+ async function completeOAuthPopup(params) {
59
+ const {
60
+ provider,
61
+ publicKey,
62
+ result,
63
+ callbacks,
64
+ completeOauth,
65
+ onOauthSuccess,
66
+ exchangeCodeForToken
67
+ } = params;
68
+ const config$1 = config.OAUTH_PROVIDER_CONFIGS[provider];
69
+ if (config$1.usesPKCE) {
70
+ // PKCE flow, so we use completePKCEFlow
71
+ if (!exchangeCodeForToken) {
72
+ throw new sdkTypes.TurnkeyError("exchangeCodeForToken is required for PKCE providers", sdkTypes.TurnkeyErrorCodes.INTERNAL_ERROR);
73
+ }
74
+ await completePKCEFlow({
75
+ publicKey,
76
+ providerName: provider,
77
+ sessionKey: result.sessionKey,
78
+ callbacks,
79
+ completeOauth,
80
+ onOauthSuccess,
81
+ exchangeCodeForToken
82
+ });
83
+ } else {
84
+ // this is a non-PKCE flow, so we use our unified completion handler
85
+ await completeOAuthFlow({
86
+ provider,
87
+ publicKey,
88
+ oidcToken: result.idToken,
89
+ sessionKey: result.sessionKey,
90
+ callbacks,
91
+ completeOauth,
92
+ onOauthSuccess
93
+ });
94
+ }
95
+ }
96
+ /**
97
+ * Unified PKCE flow handler for all PKCE-based OAuth providers.
98
+ * Handles the complete PKCE flow: verifier retrieval, token exchange, and completion routing.
99
+ *
100
+ * This function abstracts the common logic shared between popup and redirect flows
101
+ * for Facebook, Discord, and Twitter/X.
102
+ *
103
+ * @param params - The PKCE flow parameters
104
+ * @returns A promise that resolves when the flow is complete
105
+ */
106
+ async function completePKCEFlow({
107
+ publicKey,
108
+ providerName,
109
+ sessionKey,
110
+ callbacks,
111
+ completeOauth,
112
+ onOauthSuccess,
113
+ onAddProvider,
114
+ exchangeCodeForToken
115
+ }) {
116
+ // Consume the verifier (retrieves and removes from storage)
117
+ const verifier = storage.consumePKCEVerifier(providerName);
118
+ // Exchange the code for an OIDC token using the provider-specific function
119
+ const oidcToken = await exchangeCodeForToken(verifier);
120
+ // Use unified completion handler
121
+ await completeOAuthFlow({
122
+ provider: providerName,
123
+ publicKey,
124
+ oidcToken,
125
+ sessionKey,
126
+ callbacks,
127
+ completeOauth,
128
+ onOauthSuccess,
129
+ onAddProvider
130
+ });
131
+ }
132
+
133
+ exports.completeOAuthFlow = completeOAuthFlow;
134
+ exports.completeOAuthPopup = completeOAuthPopup;
135
+ exports.completePKCEFlow = completePKCEFlow;
136
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sources":["../../../src/utils/oauth/completion.ts"],"sourcesContent":[null],"names":["completeOAuthFlow","params","provider","publicKey","oidcToken","sessionKey","callbacks","completeOauth","onOauthSuccess","onAddProvider","providerName","onOauthRedirect","idToken","completeOAuthPopup","result","exchangeCodeForToken","config","OAUTH_PROVIDER_CONFIGS","usesPKCE","TurnkeyError","TurnkeyErrorCodes","INTERNAL_ERROR","completePKCEFlow","verifier","consumePKCEVerifier"],"mappings":";;;;;;AAgDA;;;;;;AAMG;AACI,eAAeA,iBAAiBA,CACrCC,MAA+B,EAAA;EAE/B,MAAM;IACJC,QAAQ;IACRC,SAAS;IACTC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,aAAa;IACbC,cAAc;AACdC,IAAAA;AAAa,GACd,GAAGR,MAAM;AAEV,EAAA,IAAIQ,aAAa,EAAE;IACjB,MAAMA,aAAa,CAACL,SAAS,CAAC;EAChC,CAAC,MAAM,IAAII,cAAc,EAAE;AACzBA,IAAAA,cAAc,CAAC;MACbL,SAAS;MACTC,SAAS;AACTM,MAAAA,YAAY,EAAER,QAAQ;AACtB,MAAA,IAAIG,UAAU,IAAI;AAAEA,QAAAA;OAAY;AACjC,KAAA,CAAC;AACJ,EAAA,CAAC,MAAM,IAAIC,SAAS,EAAEK,eAAe,EAAE;IACrCL,SAAS,CAACK,eAAe,CAAC;AACxBC,MAAAA,OAAO,EAAER,SAAS;MAClBD,SAAS;AACT,MAAA,IAAIE,UAAU,IAAI;AAAEA,QAAAA;OAAY;AACjC,KAAA,CAAC;AACJ,EAAA,CAAC,MAAM;AACL,IAAA,MAAME,aAAa,CAAC;MAClBH,SAAS;MACTD,SAAS;AACTO,MAAAA,YAAY,EAAER,QAAQ;AACtB,MAAA,IAAIG,UAAU,IAAI;AAAEA,QAAAA;OAAY;AACjC,KAAA,CAAC;AACJ,EAAA;AACF;AA6BA;;AAEG;AACI,eAAeQ,kBAAkBA,CACtCZ,MAAgC,EAAA;EAEhC,MAAM;IACJC,QAAQ;IACRC,SAAS;IACTW,MAAM;IACNR,SAAS;IACTC,aAAa;IACbC,cAAc;AACdO,IAAAA;AAAoB,GACrB,GAAGd,MAAM;AAEV,EAAA,MAAMe,QAAM,GAAGC,6BAAsB,CAACf,QAAQ,CAAC;EAE/C,IAAIc,QAAM,CAACE,QAAQ,EAAE;AACnB;IACA,IAAI,CAACH,oBAAoB,EAAE;MACzB,MAAM,IAAII,qBAAY,CACpB,qDAAqD,EACrDC,0BAAiB,CAACC,cAAc,CACjC;AACH,IAAA;AAEA,IAAA,MAAMC,gBAAgB,CAAC;MACrBnB,SAAS;AACTO,MAAAA,YAAY,EAAER,QAAwB;MACtCG,UAAU,EAAES,MAAM,CAACT,UAAU;MAC7BC,SAAS;MACTC,aAAa;MACbC,cAAc;AACdO,MAAAA;AACD,KAAA,CAAC;AACJ,EAAA,CAAC,MAAM;AACL;AACA,IAAA,MAAMf,iBAAiB,CAAC;MACtBE,QAAQ;MACRC,SAAS;MACTC,SAAS,EAAEU,MAAM,CAACF,OAAQ;MAC1BP,UAAU,EAAES,MAAM,CAACT,UAAU;MAC7BC,SAAS;MACTC,aAAa;AACbC,MAAAA;AACD,KAAA,CAAC;AACJ,EAAA;AACF;AA8CA;;;;;;;;;AASG;AACI,eAAec,gBAAgBA,CAAC;EACrCnB,SAAS;EACTO,YAAY;EACZL,UAAU;EACVC,SAAS;EACTC,aAAa;EACbC,cAAc;EACdC,aAAa;AACbM,EAAAA;AAAoB,CACG,EAAA;AACvB;AACA,EAAA,MAAMQ,QAAQ,GAAGC,2BAAmB,CAACd,YAAY,CAAC;AAElD;AACA,EAAA,MAAMN,SAAS,GAAG,MAAMW,oBAAoB,CAACQ,QAAQ,CAAC;AAEtD;AACA,EAAA,MAAMvB,iBAAiB,CAAC;AACtBE,IAAAA,QAAQ,EAAEQ,YAAY;IACtBP,SAAS;IACTC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,aAAa;IACbC,cAAc;AACdC,IAAAA;AACD,GAAA,CAAC;AACJ;;;;;;"}
@@ -0,0 +1,176 @@
1
+ import { asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/sdk-types';
3
+ import { consumePKCEVerifier } from './storage.mjs';
4
+ import { OAUTH_PROVIDER_CONFIGS } from './config.mjs';
5
+
6
+ /**
7
+ * Unified OAuth completion handler.
8
+ * Routes to the appropriate completion handler based on params:
9
+ * Priority: onAddProvider > onOauthSuccess > callbacks.onOauthRedirect > completeOauth
10
+ *
11
+ * This is the core completion logic used by both popup and redirect flows.
12
+ */
13
+ function completeOAuthFlow(_x) {
14
+ return _completeOAuthFlow.apply(this, arguments);
15
+ }
16
+ /**
17
+ * Completes OAuth flow in popup - handles both PKCE and non-PKCE providers
18
+ */
19
+ function _completeOAuthFlow() {
20
+ _completeOAuthFlow = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(params) {
21
+ var provider, publicKey, oidcToken, sessionKey, callbacks, completeOauth, onOauthSuccess, onAddProvider;
22
+ return _regenerator().w(function (_context) {
23
+ while (1) switch (_context.n) {
24
+ case 0:
25
+ provider = params.provider, publicKey = params.publicKey, oidcToken = params.oidcToken, sessionKey = params.sessionKey, callbacks = params.callbacks, completeOauth = params.completeOauth, onOauthSuccess = params.onOauthSuccess, onAddProvider = params.onAddProvider;
26
+ if (!onAddProvider) {
27
+ _context.n = 2;
28
+ break;
29
+ }
30
+ _context.n = 1;
31
+ return onAddProvider(oidcToken);
32
+ case 1:
33
+ _context.n = 5;
34
+ break;
35
+ case 2:
36
+ if (!onOauthSuccess) {
37
+ _context.n = 3;
38
+ break;
39
+ }
40
+ onOauthSuccess(_objectSpread2({
41
+ publicKey: publicKey,
42
+ oidcToken: oidcToken,
43
+ providerName: provider
44
+ }, sessionKey && {
45
+ sessionKey: sessionKey
46
+ }));
47
+ _context.n = 5;
48
+ break;
49
+ case 3:
50
+ if (!(callbacks !== null && callbacks !== void 0 && callbacks.onOauthRedirect)) {
51
+ _context.n = 4;
52
+ break;
53
+ }
54
+ callbacks.onOauthRedirect(_objectSpread2({
55
+ idToken: oidcToken,
56
+ publicKey: publicKey
57
+ }, sessionKey && {
58
+ sessionKey: sessionKey
59
+ }));
60
+ _context.n = 5;
61
+ break;
62
+ case 4:
63
+ _context.n = 5;
64
+ return completeOauth(_objectSpread2({
65
+ oidcToken: oidcToken,
66
+ publicKey: publicKey,
67
+ providerName: provider
68
+ }, sessionKey && {
69
+ sessionKey: sessionKey
70
+ }));
71
+ case 5:
72
+ return _context.a(2);
73
+ }
74
+ }, _callee);
75
+ }));
76
+ return _completeOAuthFlow.apply(this, arguments);
77
+ }
78
+ function completeOAuthPopup(_x2) {
79
+ return _completeOAuthPopup.apply(this, arguments);
80
+ }
81
+ /**
82
+ * Unified PKCE flow handler for all PKCE-based OAuth providers.
83
+ * Handles the complete PKCE flow: verifier retrieval, token exchange, and completion routing.
84
+ *
85
+ * This function abstracts the common logic shared between popup and redirect flows
86
+ * for Facebook, Discord, and Twitter/X.
87
+ *
88
+ * @param params - The PKCE flow parameters
89
+ * @returns A promise that resolves when the flow is complete
90
+ */
91
+ function _completeOAuthPopup() {
92
+ _completeOAuthPopup = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(params) {
93
+ var provider, publicKey, result, callbacks, completeOauth, onOauthSuccess, exchangeCodeForToken, config;
94
+ return _regenerator().w(function (_context2) {
95
+ while (1) switch (_context2.n) {
96
+ case 0:
97
+ provider = params.provider, publicKey = params.publicKey, result = params.result, callbacks = params.callbacks, completeOauth = params.completeOauth, onOauthSuccess = params.onOauthSuccess, exchangeCodeForToken = params.exchangeCodeForToken;
98
+ config = OAUTH_PROVIDER_CONFIGS[provider];
99
+ if (!config.usesPKCE) {
100
+ _context2.n = 3;
101
+ break;
102
+ }
103
+ if (exchangeCodeForToken) {
104
+ _context2.n = 1;
105
+ break;
106
+ }
107
+ throw new TurnkeyError("exchangeCodeForToken is required for PKCE providers", TurnkeyErrorCodes.INTERNAL_ERROR);
108
+ case 1:
109
+ _context2.n = 2;
110
+ return completePKCEFlow({
111
+ publicKey: publicKey,
112
+ providerName: provider,
113
+ sessionKey: result.sessionKey,
114
+ callbacks: callbacks,
115
+ completeOauth: completeOauth,
116
+ onOauthSuccess: onOauthSuccess,
117
+ exchangeCodeForToken: exchangeCodeForToken
118
+ });
119
+ case 2:
120
+ _context2.n = 4;
121
+ break;
122
+ case 3:
123
+ _context2.n = 4;
124
+ return completeOAuthFlow({
125
+ provider: provider,
126
+ publicKey: publicKey,
127
+ oidcToken: result.idToken,
128
+ sessionKey: result.sessionKey,
129
+ callbacks: callbacks,
130
+ completeOauth: completeOauth,
131
+ onOauthSuccess: onOauthSuccess
132
+ });
133
+ case 4:
134
+ return _context2.a(2);
135
+ }
136
+ }, _callee2);
137
+ }));
138
+ return _completeOAuthPopup.apply(this, arguments);
139
+ }
140
+ function completePKCEFlow(_x3) {
141
+ return _completePKCEFlow.apply(this, arguments);
142
+ }
143
+ function _completePKCEFlow() {
144
+ _completePKCEFlow = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref) {
145
+ var publicKey, providerName, sessionKey, callbacks, completeOauth, onOauthSuccess, onAddProvider, exchangeCodeForToken, verifier, oidcToken;
146
+ return _regenerator().w(function (_context3) {
147
+ while (1) switch (_context3.n) {
148
+ case 0:
149
+ publicKey = _ref.publicKey, providerName = _ref.providerName, sessionKey = _ref.sessionKey, callbacks = _ref.callbacks, completeOauth = _ref.completeOauth, onOauthSuccess = _ref.onOauthSuccess, onAddProvider = _ref.onAddProvider, exchangeCodeForToken = _ref.exchangeCodeForToken;
150
+ // Consume the verifier (retrieves and removes from storage)
151
+ verifier = consumePKCEVerifier(providerName); // Exchange the code for an OIDC token using the provider-specific function
152
+ _context3.n = 1;
153
+ return exchangeCodeForToken(verifier);
154
+ case 1:
155
+ oidcToken = _context3.v;
156
+ _context3.n = 2;
157
+ return completeOAuthFlow({
158
+ provider: providerName,
159
+ publicKey: publicKey,
160
+ oidcToken: oidcToken,
161
+ sessionKey: sessionKey,
162
+ callbacks: callbacks,
163
+ completeOauth: completeOauth,
164
+ onOauthSuccess: onOauthSuccess,
165
+ onAddProvider: onAddProvider
166
+ });
167
+ case 2:
168
+ return _context3.a(2);
169
+ }
170
+ }, _callee3);
171
+ }));
172
+ return _completePKCEFlow.apply(this, arguments);
173
+ }
174
+
175
+ export { completeOAuthFlow, completeOAuthPopup, completePKCEFlow };
176
+ //# sourceMappingURL=completion.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.mjs","sources":["../../../src/utils/oauth/completion.ts"],"sourcesContent":[null],"names":["completeOAuthFlow","_x","_completeOAuthFlow","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","params","provider","publicKey","oidcToken","sessionKey","callbacks","completeOauth","onOauthSuccess","onAddProvider","w","_context","n","_objectSpread","providerName","onOauthRedirect","idToken","a","completeOAuthPopup","_x2","_completeOAuthPopup","_callee2","result","exchangeCodeForToken","config","_context2","OAUTH_PROVIDER_CONFIGS","usesPKCE","TurnkeyError","TurnkeyErrorCodes","INTERNAL_ERROR","completePKCEFlow","_x3","_completePKCEFlow","_callee3","_ref","verifier","_context3","consumePKCEVerifier","v"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { OAuthProviders } from "@turnkey/sdk-types";
2
+ export declare const DISCORD_AUTH_URL = "https://discord.com/oauth2/authorize";
3
+ export declare const X_AUTH_URL = "https://x.com/i/oauth2/authorize";
4
+ export declare const GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
5
+ export declare const APPLE_AUTH_URL = "https://account.apple.com/auth/authorize";
6
+ export declare const APPLE_AUTH_SCRIPT_URL = "https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js";
7
+ export declare const FACEBOOK_AUTH_URL = "https://www.facebook.com/v11.0/dialog/oauth";
8
+ export declare const FACEBOOK_GRAPH_URL = "https://graph.facebook.com/v11.0/oauth/access_token";
9
+ export declare const popupWidth = 500;
10
+ export declare const popupHeight = 600;
11
+ /**
12
+ * OAuth provider configuration for unified OAuth flow handling
13
+ */
14
+ export interface OAuthProviderConfig {
15
+ /** The provider identifier */
16
+ provider: OAuthProviders;
17
+ /** The base OAuth authorization URL */
18
+ authUrl: string;
19
+ /** OAuth scopes to request */
20
+ scopes: string;
21
+ /** Whether this provider uses PKCE */
22
+ usesPKCE: boolean;
23
+ /** Response type for the OAuth request */
24
+ responseType: string;
25
+ /** Optional response mode (e.g., 'fragment' for Apple) */
26
+ responseMode?: string;
27
+ /** Whether to include nonce in the URL params (vs state) */
28
+ nonceInParams?: boolean;
29
+ }
30
+ /**
31
+ * Pre-configured OAuth provider settings
32
+ */
33
+ export declare const OAUTH_PROVIDER_CONFIGS: Record<OAuthProviders, OAuthProviderConfig>;
34
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/utils/oauth/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,eAAO,MAAM,gBAAgB,yCAAyC,CAAC;AACvE,eAAO,MAAM,UAAU,qCAAqC,CAAC;AAC7D,eAAO,MAAM,eAAe,iDAAiD,CAAC;AAC9E,eAAO,MAAM,cAAc,6CAA6C,CAAC;AACzE,eAAO,MAAM,qBAAqB,yFACsD,CAAC;AACzF,eAAO,MAAM,iBAAiB,gDAAgD,CAAC;AAC/E,eAAO,MAAM,kBAAkB,wDACwB,CAAC;AAExD,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,cAAc,EACd,mBAAmB,CA2CpB,CAAC"}
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ var sdkTypes = require('@turnkey/sdk-types');
4
+
5
+ const DISCORD_AUTH_URL = "https://discord.com/oauth2/authorize";
6
+ const X_AUTH_URL = "https://x.com/i/oauth2/authorize";
7
+ const GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
8
+ const APPLE_AUTH_URL = "https://account.apple.com/auth/authorize";
9
+ const FACEBOOK_AUTH_URL = "https://www.facebook.com/v11.0/dialog/oauth";
10
+ const FACEBOOK_GRAPH_URL = "https://graph.facebook.com/v11.0/oauth/access_token";
11
+ const popupWidth = 500;
12
+ const popupHeight = 600;
13
+ /**
14
+ * Pre-configured OAuth provider settings
15
+ */
16
+ const OAUTH_PROVIDER_CONFIGS = {
17
+ [sdkTypes.OAuthProviders.GOOGLE]: {
18
+ provider: sdkTypes.OAuthProviders.GOOGLE,
19
+ authUrl: GOOGLE_AUTH_URL,
20
+ scopes: "openid email profile",
21
+ usesPKCE: false,
22
+ responseType: "id_token",
23
+ nonceInParams: true
24
+ },
25
+ [sdkTypes.OAuthProviders.APPLE]: {
26
+ provider: sdkTypes.OAuthProviders.APPLE,
27
+ authUrl: APPLE_AUTH_URL,
28
+ scopes: "",
29
+ usesPKCE: false,
30
+ responseType: "code id_token",
31
+ responseMode: "fragment",
32
+ nonceInParams: true
33
+ },
34
+ [sdkTypes.OAuthProviders.FACEBOOK]: {
35
+ provider: sdkTypes.OAuthProviders.FACEBOOK,
36
+ authUrl: FACEBOOK_AUTH_URL,
37
+ scopes: "openid",
38
+ usesPKCE: true,
39
+ responseType: "code",
40
+ nonceInParams: true
41
+ },
42
+ [sdkTypes.OAuthProviders.DISCORD]: {
43
+ provider: sdkTypes.OAuthProviders.DISCORD,
44
+ authUrl: DISCORD_AUTH_URL,
45
+ scopes: "identify email",
46
+ usesPKCE: true,
47
+ responseType: "code",
48
+ nonceInParams: false
49
+ },
50
+ [sdkTypes.OAuthProviders.X]: {
51
+ provider: sdkTypes.OAuthProviders.X,
52
+ authUrl: X_AUTH_URL,
53
+ scopes: "tweet.read users.read",
54
+ usesPKCE: true,
55
+ responseType: "code",
56
+ nonceInParams: false
57
+ }
58
+ };
59
+
60
+ exports.APPLE_AUTH_URL = APPLE_AUTH_URL;
61
+ exports.DISCORD_AUTH_URL = DISCORD_AUTH_URL;
62
+ exports.FACEBOOK_AUTH_URL = FACEBOOK_AUTH_URL;
63
+ exports.FACEBOOK_GRAPH_URL = FACEBOOK_GRAPH_URL;
64
+ exports.GOOGLE_AUTH_URL = GOOGLE_AUTH_URL;
65
+ exports.OAUTH_PROVIDER_CONFIGS = OAUTH_PROVIDER_CONFIGS;
66
+ exports.X_AUTH_URL = X_AUTH_URL;
67
+ exports.popupHeight = popupHeight;
68
+ exports.popupWidth = popupWidth;
69
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sources":["../../../src/utils/oauth/config.ts"],"sourcesContent":[null],"names":["DISCORD_AUTH_URL","X_AUTH_URL","GOOGLE_AUTH_URL","APPLE_AUTH_URL","FACEBOOK_AUTH_URL","FACEBOOK_GRAPH_URL","popupWidth","popupHeight","OAUTH_PROVIDER_CONFIGS","OAuthProviders","GOOGLE","provider","authUrl","scopes","usesPKCE","responseType","nonceInParams","APPLE","responseMode","FACEBOOK","DISCORD","X"],"mappings":";;;;AAEO,MAAMA,gBAAgB,GAAG;AACzB,MAAMC,UAAU,GAAG;AACnB,MAAMC,eAAe,GAAG;AACxB,MAAMC,cAAc,GAAG;AAGvB,MAAMC,iBAAiB,GAAG;AAC1B,MAAMC,kBAAkB,GAC7B;AAEK,MAAMC,UAAU,GAAG;AACnB,MAAMC,WAAW,GAAG;AAsB3B;;AAEG;AACI,MAAMC,sBAAsB,GAG/B;EACF,CAACC,uBAAc,CAACC,MAAM,GAAG;IACvBC,QAAQ,EAAEF,uBAAc,CAACC,MAAM;AAC/BE,IAAAA,OAAO,EAAEV,eAAe;AACxBW,IAAAA,MAAM,EAAE,sBAAsB;AAC9BC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,YAAY,EAAE,UAAU;AACxBC,IAAAA,aAAa,EAAE;GAChB;EACD,CAACP,uBAAc,CAACQ,KAAK,GAAG;IACtBN,QAAQ,EAAEF,uBAAc,CAACQ,KAAK;AAC9BL,IAAAA,OAAO,EAAET,cAAc;AACvBU,IAAAA,MAAM,EAAE,EAAE;AACVC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,YAAY,EAAE,eAAe;AAC7BG,IAAAA,YAAY,EAAE,UAAU;AACxBF,IAAAA,aAAa,EAAE;GAChB;EACD,CAACP,uBAAc,CAACU,QAAQ,GAAG;IACzBR,QAAQ,EAAEF,uBAAc,CAACU,QAAQ;AACjCP,IAAAA,OAAO,EAAER,iBAAiB;AAC1BS,IAAAA,MAAM,EAAE,QAAQ;AAChBC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,YAAY,EAAE,MAAM;AACpBC,IAAAA,aAAa,EAAE;GAChB;EACD,CAACP,uBAAc,CAACW,OAAO,GAAG;IACxBT,QAAQ,EAAEF,uBAAc,CAACW,OAAO;AAChCR,IAAAA,OAAO,EAAEZ,gBAAgB;AACzBa,IAAAA,MAAM,EAAE,gBAAgB;AACxBC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,YAAY,EAAE,MAAM;AACpBC,IAAAA,aAAa,EAAE;GAChB;EACD,CAACP,uBAAc,CAACY,CAAC,GAAG;IAClBV,QAAQ,EAAEF,uBAAc,CAACY,CAAC;AAC1BT,IAAAA,OAAO,EAAEX,UAAU;AACnBY,IAAAA,MAAM,EAAE,uBAAuB;AAC/BC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,YAAY,EAAE,MAAM;AACpBC,IAAAA,aAAa,EAAE;AAChB;;;;;;;;;;;;;"}
@@ -0,0 +1,54 @@
1
+ import { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { OAuthProviders } from '@turnkey/sdk-types';
3
+
4
+ var DISCORD_AUTH_URL = "https://discord.com/oauth2/authorize";
5
+ var X_AUTH_URL = "https://x.com/i/oauth2/authorize";
6
+ var GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
7
+ var APPLE_AUTH_URL = "https://account.apple.com/auth/authorize";
8
+ var FACEBOOK_AUTH_URL = "https://www.facebook.com/v11.0/dialog/oauth";
9
+ var FACEBOOK_GRAPH_URL = "https://graph.facebook.com/v11.0/oauth/access_token";
10
+ var popupWidth = 500;
11
+ var popupHeight = 600;
12
+ /**
13
+ * Pre-configured OAuth provider settings
14
+ */
15
+ var OAUTH_PROVIDER_CONFIGS = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, OAuthProviders.GOOGLE, {
16
+ provider: OAuthProviders.GOOGLE,
17
+ authUrl: GOOGLE_AUTH_URL,
18
+ scopes: "openid email profile",
19
+ usesPKCE: false,
20
+ responseType: "id_token",
21
+ nonceInParams: true
22
+ }), OAuthProviders.APPLE, {
23
+ provider: OAuthProviders.APPLE,
24
+ authUrl: APPLE_AUTH_URL,
25
+ scopes: "",
26
+ usesPKCE: false,
27
+ responseType: "code id_token",
28
+ responseMode: "fragment",
29
+ nonceInParams: true
30
+ }), OAuthProviders.FACEBOOK, {
31
+ provider: OAuthProviders.FACEBOOK,
32
+ authUrl: FACEBOOK_AUTH_URL,
33
+ scopes: "openid",
34
+ usesPKCE: true,
35
+ responseType: "code",
36
+ nonceInParams: true
37
+ }), OAuthProviders.DISCORD, {
38
+ provider: OAuthProviders.DISCORD,
39
+ authUrl: DISCORD_AUTH_URL,
40
+ scopes: "identify email",
41
+ usesPKCE: true,
42
+ responseType: "code",
43
+ nonceInParams: false
44
+ }), OAuthProviders.X, {
45
+ provider: OAuthProviders.X,
46
+ authUrl: X_AUTH_URL,
47
+ scopes: "tweet.read users.read",
48
+ usesPKCE: true,
49
+ responseType: "code",
50
+ nonceInParams: false
51
+ });
52
+
53
+ export { APPLE_AUTH_URL, DISCORD_AUTH_URL, FACEBOOK_AUTH_URL, FACEBOOK_GRAPH_URL, GOOGLE_AUTH_URL, OAUTH_PROVIDER_CONFIGS, X_AUTH_URL, popupHeight, popupWidth };
54
+ //# sourceMappingURL=config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.mjs","sources":["../../../src/utils/oauth/config.ts"],"sourcesContent":[null],"names":["DISCORD_AUTH_URL","X_AUTH_URL","GOOGLE_AUTH_URL","APPLE_AUTH_URL","FACEBOOK_AUTH_URL","FACEBOOK_GRAPH_URL","popupWidth","popupHeight","OAUTH_PROVIDER_CONFIGS","_defineProperty","OAuthProviders","GOOGLE","provider","authUrl","scopes","usesPKCE","responseType","nonceInParams","APPLE","responseMode","FACEBOOK","DISCORD","X"],"mappings":";;;AAEO,IAAMA,gBAAgB,GAAG;AACzB,IAAMC,UAAU,GAAG;AACnB,IAAMC,eAAe,GAAG;AACxB,IAAMC,cAAc,GAAG;AAGvB,IAAMC,iBAAiB,GAAG;AAC1B,IAAMC,kBAAkB,GAC7B;AAEK,IAAMC,UAAU,GAAG;AACnB,IAAMC,WAAW,GAAG;AAsB3B;;AAEG;IACUC,sBAAsB,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAIhCC,cAAc,CAACC,MAAM,EAAG;EACvBC,QAAQ,EAAEF,cAAc,CAACC,MAAM;AAC/BE,EAAAA,OAAO,EAAEX,eAAe;AACxBY,EAAAA,MAAM,EAAE,sBAAsB;AAC9BC,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,YAAY,EAAE,UAAU;AACxBC,EAAAA,aAAa,EAAE;AAChB,CAAA,CAAA,EACAP,cAAc,CAACQ,KAAK,EAAG;EACtBN,QAAQ,EAAEF,cAAc,CAACQ,KAAK;AAC9BL,EAAAA,OAAO,EAAEV,cAAc;AACvBW,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,YAAY,EAAE,eAAe;AAC7BG,EAAAA,YAAY,EAAE,UAAU;AACxBF,EAAAA,aAAa,EAAE;AAChB,CAAA,CAAA,EACAP,cAAc,CAACU,QAAQ,EAAG;EACzBR,QAAQ,EAAEF,cAAc,CAACU,QAAQ;AACjCP,EAAAA,OAAO,EAAET,iBAAiB;AAC1BU,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,YAAY,EAAE,MAAM;AACpBC,EAAAA,aAAa,EAAE;AAChB,CAAA,CAAA,EACAP,cAAc,CAACW,OAAO,EAAG;EACxBT,QAAQ,EAAEF,cAAc,CAACW,OAAO;AAChCR,EAAAA,OAAO,EAAEb,gBAAgB;AACzBc,EAAAA,MAAM,EAAE,gBAAgB;AACxBC,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,YAAY,EAAE,MAAM;AACpBC,EAAAA,aAAa,EAAE;AAChB,CAAA,CAAA,EACAP,cAAc,CAACY,CAAC,EAAG;EAClBV,QAAQ,EAAEF,cAAc,CAACY,CAAC;AAC1BT,EAAAA,OAAO,EAAEZ,UAAU;AACnBa,EAAAA,MAAM,EAAE,uBAAuB;AAC/BC,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,YAAY,EAAE,MAAM;AACpBC,EAAAA,aAAa,EAAE;AAChB,CAAA;;;;"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Capitalizes the first letter of a provider name
3
+ * @param provider - The provider name (e.g., "facebook", "discord")
4
+ * @returns The capitalized provider name (e.g., "Facebook", "Discord")
5
+ */
6
+ export declare function capitalizeProviderName(provider: string): string;
7
+ /**
8
+ * Gets the FontAwesome icon for an OAuth provider
9
+ * @param provider - The provider name
10
+ * @returns The FontAwesome icon definition
11
+ */
12
+ export declare function getProviderIcon(provider: string | null | undefined): import("@fortawesome/free-brands-svg-icons").IconDefinition;
13
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/utils/oauth/helpers.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,+DAclE"}
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var sdkTypes = require('@turnkey/sdk-types');
4
+ var freeBrandsSvgIcons = require('@fortawesome/free-brands-svg-icons');
5
+
6
+ /**
7
+ * Capitalizes the first letter of a provider name
8
+ * @param provider - The provider name (e.g., "facebook", "discord")
9
+ * @returns The capitalized provider name (e.g., "Facebook", "Discord")
10
+ */
11
+ function capitalizeProviderName(provider) {
12
+ if (!provider) return "Provider";
13
+ return provider.charAt(0).toUpperCase() + provider.slice(1);
14
+ }
15
+ /**
16
+ * Gets the FontAwesome icon for an OAuth provider
17
+ * @param provider - The provider name
18
+ * @returns The FontAwesome icon definition
19
+ */
20
+ function getProviderIcon(provider) {
21
+ switch (provider) {
22
+ case sdkTypes.OAuthProviders.FACEBOOK:
23
+ return freeBrandsSvgIcons.faFacebook;
24
+ case sdkTypes.OAuthProviders.DISCORD:
25
+ return freeBrandsSvgIcons.faDiscord;
26
+ case sdkTypes.OAuthProviders.X:
27
+ return freeBrandsSvgIcons.faXTwitter;
28
+ case sdkTypes.OAuthProviders.APPLE:
29
+ return freeBrandsSvgIcons.faApple;
30
+ case sdkTypes.OAuthProviders.GOOGLE:
31
+ default:
32
+ return freeBrandsSvgIcons.faGoogle;
33
+ }
34
+ }
35
+
36
+ exports.capitalizeProviderName = capitalizeProviderName;
37
+ exports.getProviderIcon = getProviderIcon;
38
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/utils/oauth/helpers.ts"],"sourcesContent":[null],"names":["capitalizeProviderName","provider","charAt","toUpperCase","slice","getProviderIcon","OAuthProviders","FACEBOOK","faFacebook","DISCORD","faDiscord","X","faXTwitter","APPLE","faApple","GOOGLE","faGoogle"],"mappings":";;;;;AASA;;;;AAIG;AACG,SAAUA,sBAAsBA,CAACC,QAAgB,EAAA;AACrD,EAAA,IAAI,CAACA,QAAQ,EAAE,OAAO,UAAU;AAChC,EAAA,OAAOA,QAAQ,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGF,QAAQ,CAACG,KAAK,CAAC,CAAC,CAAC;AAC7D;AAEA;;;;AAIG;AACG,SAAUC,eAAeA,CAACJ,QAAmC,EAAA;AACjE,EAAA,QAAQA,QAAQ;IACd,KAAKK,uBAAc,CAACC,QAAQ;AAC1B,MAAA,OAAOC,6BAAU;IACnB,KAAKF,uBAAc,CAACG,OAAO;AACzB,MAAA,OAAOC,4BAAS;IAClB,KAAKJ,uBAAc,CAACK,CAAC;AACnB,MAAA,OAAOC,6BAAU;IACnB,KAAKN,uBAAc,CAACO,KAAK;AACvB,MAAA,OAAOC,0BAAO;IAChB,KAAKR,uBAAc,CAACS,MAAM;AAC1B,IAAA;AACE,MAAA,OAAOC,2BAAQ;AACnB;AACF;;;;;"}
@@ -0,0 +1,35 @@
1
+ import { OAuthProviders } from '@turnkey/sdk-types';
2
+ import { faGoogle, faApple, faXTwitter, faDiscord, faFacebook } from '@fortawesome/free-brands-svg-icons';
3
+
4
+ /**
5
+ * Capitalizes the first letter of a provider name
6
+ * @param provider - The provider name (e.g., "facebook", "discord")
7
+ * @returns The capitalized provider name (e.g., "Facebook", "Discord")
8
+ */
9
+ function capitalizeProviderName(provider) {
10
+ if (!provider) return "Provider";
11
+ return provider.charAt(0).toUpperCase() + provider.slice(1);
12
+ }
13
+ /**
14
+ * Gets the FontAwesome icon for an OAuth provider
15
+ * @param provider - The provider name
16
+ * @returns The FontAwesome icon definition
17
+ */
18
+ function getProviderIcon(provider) {
19
+ switch (provider) {
20
+ case OAuthProviders.FACEBOOK:
21
+ return faFacebook;
22
+ case OAuthProviders.DISCORD:
23
+ return faDiscord;
24
+ case OAuthProviders.X:
25
+ return faXTwitter;
26
+ case OAuthProviders.APPLE:
27
+ return faApple;
28
+ case OAuthProviders.GOOGLE:
29
+ default:
30
+ return faGoogle;
31
+ }
32
+ }
33
+
34
+ export { capitalizeProviderName, getProviderIcon };
35
+ //# sourceMappingURL=helpers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.mjs","sources":["../../../src/utils/oauth/helpers.ts"],"sourcesContent":[null],"names":["capitalizeProviderName","provider","charAt","toUpperCase","slice","getProviderIcon","OAuthProviders","FACEBOOK","faFacebook","DISCORD","faDiscord","X","faXTwitter","APPLE","faApple","GOOGLE","faGoogle"],"mappings":";;;AASA;;;;AAIG;AACG,SAAUA,sBAAsBA,CAACC,QAAgB,EAAA;AACrD,EAAA,IAAI,CAACA,QAAQ,EAAE,OAAO,UAAU;AAChC,EAAA,OAAOA,QAAQ,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGF,QAAQ,CAACG,KAAK,CAAC,CAAC,CAAC;AAC7D;AAEA;;;;AAIG;AACG,SAAUC,eAAeA,CAACJ,QAAmC,EAAA;AACjE,EAAA,QAAQA,QAAQ;IACd,KAAKK,cAAc,CAACC,QAAQ;AAC1B,MAAA,OAAOC,UAAU;IACnB,KAAKF,cAAc,CAACG,OAAO;AACzB,MAAA,OAAOC,SAAS;IAClB,KAAKJ,cAAc,CAACK,CAAC;AACnB,MAAA,OAAOC,UAAU;IACnB,KAAKN,cAAc,CAACO,KAAK;AACvB,MAAA,OAAOC,OAAO;IAChB,KAAKR,cAAc,CAACS,MAAM;AAC1B,IAAA;AACE,MAAA,OAAOC,QAAQ;AACnB;AACF;;;;"}
@@ -0,0 +1,7 @@
1
+ export * from "./storage";
2
+ export * from "./config";
3
+ export * from "./url";
4
+ export * from "./completion";
5
+ export * from "./pkce";
6
+ export * from "./helpers";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/oauth/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Generates a PKCE challenge pair (verifier and code challenge)
3
+ */
4
+ export declare function generateChallengePair(): Promise<{
5
+ verifier: string;
6
+ codeChallenge: string;
7
+ }>;
8
+ /**
9
+ * Exchanges Facebook authorization code for token
10
+ */
11
+ export declare function exchangeFacebookCodeForToken(clientId: string, redirectUri: string, code: string, codeVerifier: string): Promise<{
12
+ id_token: string;
13
+ }>;
14
+ //# sourceMappingURL=pkce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkce.d.ts","sourceRoot":"","sources":["../../../src/utils/oauth/pkce.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAkBD;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB/B"}