@auth0/auth0-react 2.12.0 → 2.14.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/auth0-context.d.ts +116 -8
- package/dist/auth0-context.d.ts.map +1 -1
- package/dist/auth0-provider.d.ts.map +1 -1
- package/dist/auth0-react.cjs.js +47 -26
- package/dist/auth0-react.cjs.js.map +1 -1
- package/dist/auth0-react.esm.js +31 -16
- package/dist/auth0-react.esm.js.map +1 -1
- package/dist/auth0-react.js +47 -26
- package/dist/auth0-react.js.map +1 -1
- package/dist/auth0-react.min.js +1 -1
- package/dist/auth0-react.min.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/use-auth0.d.ts +2 -1
- package/dist/use-auth0.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/auth0-context.tsx +127 -8
- package/src/auth0-provider.tsx +20 -5
- package/src/index.tsx +22 -0
- package/src/use-auth0.tsx +2 -1
package/dist/auth0-context.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GetTokenSilentlyOptions, GetTokenWithPopupOptions, IdToken, LogoutOptions as SPALogoutOptions, PopupLoginOptions, PopupConfigOptions, RedirectLoginResult, User, GetTokenSilentlyVerboseResponse, RedirectLoginOptions as SPARedirectLoginOptions, type Auth0Client, RedirectConnectAccountOptions, ConnectAccountRedirectResult, CustomTokenExchangeOptions, TokenEndpointResponse } from '@auth0/auth0-spa-js';
|
|
1
|
+
import { GetTokenSilentlyOptions, GetTokenWithPopupOptions, IdToken, LogoutOptions as SPALogoutOptions, PopupLoginOptions, PopupConfigOptions, RedirectLoginResult, User, GetTokenSilentlyVerboseResponse, RedirectLoginOptions as SPARedirectLoginOptions, type Auth0Client, RedirectConnectAccountOptions, ConnectAccountRedirectResult, CustomTokenExchangeOptions, TokenEndpointResponse, type MfaApiClient } from '@auth0/auth0-spa-js';
|
|
2
2
|
import { AuthState } from './auth-state';
|
|
3
3
|
import { AppState } from './auth0-provider';
|
|
4
4
|
export interface LogoutOptions extends Omit<SPALogoutOptions, 'onRedirect'> {
|
|
@@ -64,6 +64,57 @@ export interface Auth0ContextInterface<TUser extends User = User> extends AuthSt
|
|
|
64
64
|
*/
|
|
65
65
|
getIdTokenClaims: () => Promise<IdToken | undefined>;
|
|
66
66
|
/**
|
|
67
|
+
* ```js
|
|
68
|
+
* await loginWithCustomTokenExchange(options);
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* Exchanges an external subject token for Auth0 tokens and logs the user in.
|
|
72
|
+
* This method implements the Custom Token Exchange grant as specified in RFC 8693.
|
|
73
|
+
*
|
|
74
|
+
* The exchanged tokens are automatically cached, establishing an authenticated session.
|
|
75
|
+
* After calling this method, you can use `getUser()`, `getIdTokenClaims()`, and
|
|
76
|
+
* `getTokenSilently()` to access the user's information and tokens.
|
|
77
|
+
*
|
|
78
|
+
* @param options - The options required to perform the token exchange.
|
|
79
|
+
*
|
|
80
|
+
* @returns A promise that resolves to the token endpoint response,
|
|
81
|
+
* which contains the issued Auth0 tokens (access_token, id_token, etc.).
|
|
82
|
+
*
|
|
83
|
+
* The request includes the following parameters:
|
|
84
|
+
* - `grant_type`: "urn:ietf:params:oauth:grant-type:token-exchange"
|
|
85
|
+
* - `subject_token`: The external token to exchange
|
|
86
|
+
* - `subject_token_type`: The type identifier of the external token
|
|
87
|
+
* - `scope`: Merged scopes from the request and SDK defaults
|
|
88
|
+
* - `audience`: Target audience (defaults to SDK configuration)
|
|
89
|
+
* - `organization`: Optional organization ID/name for org-scoped authentication
|
|
90
|
+
*
|
|
91
|
+
* **Example Usage:**
|
|
92
|
+
*
|
|
93
|
+
* ```js
|
|
94
|
+
* const options = {
|
|
95
|
+
* subject_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...',
|
|
96
|
+
* subject_token_type: 'urn:acme:legacy-system-token',
|
|
97
|
+
* scope: 'openid profile email',
|
|
98
|
+
* audience: 'https://api.example.com',
|
|
99
|
+
* organization: 'org_12345'
|
|
100
|
+
* };
|
|
101
|
+
*
|
|
102
|
+
* try {
|
|
103
|
+
* const tokenResponse = await loginWithCustomTokenExchange(options);
|
|
104
|
+
* console.log('Access token:', tokenResponse.access_token);
|
|
105
|
+
*
|
|
106
|
+
* // User is now logged in - access user info
|
|
107
|
+
* const user = await getUser();
|
|
108
|
+
* console.log('Logged in user:', user);
|
|
109
|
+
* } catch (error) {
|
|
110
|
+
* console.error('Token exchange failed:', error);
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
loginWithCustomTokenExchange: (options: CustomTokenExchangeOptions) => Promise<TokenEndpointResponse>;
|
|
115
|
+
/**
|
|
116
|
+
* @deprecated Use `loginWithCustomTokenExchange()` instead. This method will be removed in the next major version.
|
|
117
|
+
*
|
|
67
118
|
* ```js
|
|
68
119
|
* const tokenResponse = await exchangeToken({
|
|
69
120
|
* subject_token: 'external_token_value',
|
|
@@ -72,18 +123,20 @@ export interface Auth0ContextInterface<TUser extends User = User> extends AuthSt
|
|
|
72
123
|
* });
|
|
73
124
|
* ```
|
|
74
125
|
*
|
|
75
|
-
* Exchanges an external subject token for Auth0 tokens
|
|
126
|
+
* Exchanges an external subject token for Auth0 tokens and logs the user in.
|
|
76
127
|
*
|
|
77
128
|
* This method implements the token exchange grant as specified in RFC 8693.
|
|
78
129
|
* It performs a token exchange by sending a request to the `/oauth/token` endpoint
|
|
79
130
|
* with the external token and returns Auth0 tokens (access token, ID token, etc.).
|
|
80
131
|
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
132
|
+
* **Example:**
|
|
133
|
+
* ```js
|
|
134
|
+
* // Instead of:
|
|
135
|
+
* const tokens = await exchangeToken(options);
|
|
136
|
+
*
|
|
137
|
+
* // Use:
|
|
138
|
+
* const tokens = await loginWithCustomTokenExchange(options);
|
|
139
|
+
* ```
|
|
87
140
|
*
|
|
88
141
|
* @param options - The options required to perform the token exchange
|
|
89
142
|
* @returns A promise that resolves to the token endpoint response containing Auth0 tokens
|
|
@@ -204,6 +257,59 @@ export interface Auth0ContextInterface<TUser extends User = User> extends AuthSt
|
|
|
204
257
|
* containing the domain and clientId.
|
|
205
258
|
*/
|
|
206
259
|
getConfiguration: Auth0Client['getConfiguration'];
|
|
260
|
+
/**
|
|
261
|
+
* ```js
|
|
262
|
+
* const { mfa } = useAuth0();
|
|
263
|
+
* const authenticators = await mfa.getAuthenticators(mfaToken);
|
|
264
|
+
* ```
|
|
265
|
+
*
|
|
266
|
+
* MFA API client for Multi-Factor Authentication operations.
|
|
267
|
+
*
|
|
268
|
+
* Provides access to all MFA-related methods:
|
|
269
|
+
* - `getAuthenticators(mfaToken)` - List enrolled authenticators
|
|
270
|
+
* - `enroll(params)` - Enroll new authenticators (OTP, SMS, Voice, Email, Push)
|
|
271
|
+
* - `challenge(params)` - Initiate MFA challenges
|
|
272
|
+
* - `verify(params)` - Verify MFA challenges and complete authentication
|
|
273
|
+
* - `getEnrollmentFactors(mfaToken)` - Get available enrollment factors
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* ```js
|
|
277
|
+
* const { mfa, getAccessTokenSilently } = useAuth0();
|
|
278
|
+
*
|
|
279
|
+
* try {
|
|
280
|
+
* await getAccessTokenSilently();
|
|
281
|
+
* } catch (error) {
|
|
282
|
+
* if (error.error === 'mfa_required') {
|
|
283
|
+
* // Check if enrollment is needed
|
|
284
|
+
* const factors = await mfa.getEnrollmentFactors(error.mfa_token);
|
|
285
|
+
*
|
|
286
|
+
* if (factors.length > 0) {
|
|
287
|
+
* // Enroll in OTP
|
|
288
|
+
* const enrollment = await mfa.enroll({
|
|
289
|
+
* mfaToken: error.mfa_token,
|
|
290
|
+
* factorType: 'otp'
|
|
291
|
+
* });
|
|
292
|
+
* console.log('QR Code:', enrollment.barcodeUri);
|
|
293
|
+
* }
|
|
294
|
+
*
|
|
295
|
+
* // Get authenticators and challenge
|
|
296
|
+
* const authenticators = await mfa.getAuthenticators(error.mfa_token);
|
|
297
|
+
* await mfa.challenge({
|
|
298
|
+
* mfaToken: error.mfa_token,
|
|
299
|
+
* challengeType: 'otp',
|
|
300
|
+
* authenticatorId: authenticators[0].id
|
|
301
|
+
* });
|
|
302
|
+
*
|
|
303
|
+
* // Verify with user's code
|
|
304
|
+
* const tokens = await mfa.verify({
|
|
305
|
+
* mfaToken: error.mfa_token,
|
|
306
|
+
* otp: userCode
|
|
307
|
+
* });
|
|
308
|
+
* }
|
|
309
|
+
* }
|
|
310
|
+
* ```
|
|
311
|
+
*/
|
|
312
|
+
mfa: MfaApiClient;
|
|
207
313
|
}
|
|
208
314
|
/**
|
|
209
315
|
* @ignore
|
|
@@ -214,6 +320,7 @@ export declare const initialContext: {
|
|
|
214
320
|
getAccessTokenSilently: () => never;
|
|
215
321
|
getAccessTokenWithPopup: () => never;
|
|
216
322
|
getIdTokenClaims: () => never;
|
|
323
|
+
loginWithCustomTokenExchange: () => never;
|
|
217
324
|
exchangeToken: () => never;
|
|
218
325
|
loginWithRedirect: () => never;
|
|
219
326
|
loginWithPopup: () => never;
|
|
@@ -225,6 +332,7 @@ export declare const initialContext: {
|
|
|
225
332
|
generateDpopProof: () => never;
|
|
226
333
|
createFetcher: () => never;
|
|
227
334
|
getConfiguration: () => never;
|
|
335
|
+
mfa: MfaApiClient;
|
|
228
336
|
error: Error | undefined;
|
|
229
337
|
isAuthenticated: boolean;
|
|
230
338
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0-context.d.ts","sourceRoot":"","sources":["../src/auth0-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,aAAa,IAAI,gBAAgB,EACjC,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,IAAI,EACJ,+BAA+B,EAC/B,oBAAoB,IAAI,uBAAuB,EAC/C,KAAK,WAAW,EAChB,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"auth0-context.d.ts","sourceRoot":"","sources":["../src/auth0-context.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0-provider.d.ts","sourceRoot":"","sources":["../src/auth0-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,kBAAkB,EAMlB,IAAI,EAEJ,4BAA4B,EAC5B,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAqB,EACnB,qBAAqB,EAGtB,MAAM,iBAAiB,CAAC;AAUzB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC;AAEhG;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,KAAK,SAAS,IAAI,GAAG,IAAI,CAAE,SAAQ,kBAAkB;IACzF;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACjE;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;CACvD;AAoCD;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,aAAa,GAAI,KAAK,SAAS,IAAI,GAAG,IAAI,EAAE,MAAM,oBAAoB,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"auth0-provider.d.ts","sourceRoot":"","sources":["../src/auth0-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,kBAAkB,EAMlB,IAAI,EAEJ,4BAA4B,EAC5B,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAqB,EACnB,qBAAqB,EAGtB,MAAM,iBAAiB,CAAC;AAUzB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC;AAEhG;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,KAAK,SAAS,IAAI,GAAG,IAAI,CAAE,SAAQ,kBAAkB;IACzF;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACjE;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;CACvD;AAoCD;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,aAAa,GAAI,KAAK,SAAS,IAAI,GAAG,IAAI,EAAE,MAAM,oBAAoB,CAAC,KAAK,CAAC,sBA6PlF,CAAC;AAEF,eAAe,aAAa,CAAC"}
|