diff --git a/.version b/.version index b71174af..fd595728 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -v2.16.2 \ No newline at end of file +v2.17.0 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index cbea6192..f03a42e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## [v2.17.0](https://github.com/auth0/auth0-react/tree/v2.17.0) (2026-05-22) +[Full Changelog](https://github.com/auth0/auth0-react/compare/v2.16.2...v2.17.0) + +**Added** +- feat: CTE delegation and impersonation support [\#1109](https://github.com/auth0/auth0-react/pull/1109) ([yogeshchoudhary147](https://github.com/yogeshchoudhary147)) + ## [v2.16.2](https://github.com/auth0/auth0-react/tree/v2.16.2) (2026-04-17) [Full Changelog](https://github.com/auth0/auth0-react/compare/v2.16.1...v2.16.2) diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index 9e7c18f6..ab497ff5 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyVlMtu2zAQRf+Fa6YBHyIV7Qr3gQJOU6RpuwiyIOSxRYQmVZJeFIH/vZCNJpRkl/RKgHRH597hDF+Qdy4G1DxWnGJGOab05gkjD2sDbdTOBtS8IEpvhodVW0AN+ub6Xb90G23v+qMEo2dtV6ihlcBo5w1qkLYR/Fq1EK5n+ndd3BqEUWtUCKhBMayuhh9cvRYNHzttVh4sah4pq572GFFWJS4+Q3xwz2B/6dgdCGVmzpUVeNpjxChPLHxZqLaDDPAoujQy42yIzDhLeEvXKvM9Oq82MEYTWv9DHwgQrmfisxaOLwaaIAntQW/B7eJH753/HyjVZRijiJzVh4h12tLbtbqH3zvtYZUFT7X5gJyw6RwvlG3BmALcCXkBkdVTYmlfZ+ICmpjlu+vBlqFelQWcWiSc97vYgY26VcMmZWEn5HliRdLdv9UhaLu5h7WH0B32OT8tZ2oK2JyO7h0LXrdZXqq7ZC2YIJjVHHPCMBcM81rgilS4EhILQrAQdFibSsjE1I8AH3rXf3W2hayzmTjfAkHSm2HhrIU2P8GproAh6PgiKLkALm6vqCWWhGLJJJaCYlnLoZ2ilmP4UoeYTKrzocTOmap8eEmm4a13xmzB5ts8Vxfw2CTvolPGgN3kx2cmLqBNj/YneL3+U4JKlAWc6Sm+9eWTaksP8XRRjr7f/wVIEBU1" \ No newline at end of file +window.hierarchyData = "eJyVlMtu2zAQRf+Fa6aR+RBt7Qr3gQJuU6RpuwiyIOixRYQmVZJeFIH/vbCMppRkl/RKgHRHZ+68XpB3LgbUPHI+w5RSTGj9hJGHjQEVtbMBNS+I0Pr4sHIHqEFfXbfvVm6r7V13kmD0rO0aNYTXGO29QQ3SNoLfSAXhdqJ/08adQRgpI0NADYphfXP8wc1r0PFjq83ag0XNI2Hk6YARYSTJ4iPEB/cM9qeObU8oS+ZSWEFOB4wopUkKn5ZStZABnkTXWqa8t0x5annllDTfovNyC0P0jMz/onsChNuJ+GIKpxdHmqgS2oPegdvH9947/z9QqsswBhYZE73FRVrSzxt5D7/22sM6Cx5r8wYZIeM5XkqrwJgC3Bl5AZGJMbG0rhNxAU1M/N11YMtQr8oCzoInnLf72IKNWsnjJmVhZ+R5IicsnRIdgrbbe9h4CG2/z/lpuRBTwOazwd2x4LXK8lLdNWtBRYXpgmJGCGaCYLbgmBOGuahxTSpci35tuEhP8vcA7zrXfXFWQTaziThfgpqkl2HprAWVn+BUV8AQYngISg7A1eUVFcGCCCw4wUIIPK/6QysqMoSvdIjJpDofStK5EJU3L8jYvPXOmB3YfJmn6gIeH/ldttIYsNv8+EzEBbRxa3+A15vfJahEmefMx138V5cPUpU28XxQjn44/AHvIBUb" \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 6c498a95..f5cf2b99 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJytmcty2yAUht9F66S5tElb7zJukmYmqT12ki46XVB0bDFBoAJK43b67h1JlgTmIgd1GZ+f/wMEhwP59idR8KKSSbIAWXAm4X5TQHKQFEhlySQBVubySI+9yVROk4PkibA0mXw4SDBFUiaTRMn0kMhDeFEgGKLJ34PO+6JUGTBFMFKEs0shuOgRdXuQRw6RyTo53Y825YwBVh6MHo3zvwYGgmCPvx6N879hd5BzsZkinIENMMJxhFuOEV0qLtAaPBRLEke6W6FphigFtgbPhFmSaNIlE5zSHJjv29ua/8C6QlhxIfdB6tJ4sh80yveWSKXtweCQPNpo9gJ+lkRA6icaimjOIwiy2vgpWjySQaQkbL2AlQCZ3fMn8KU7nzKOO6u+hofUxyxvzWHOi7KYIoaBUu+HcIji+lsbzQrv7JjxEYx7kgMvfQnBksSRwpDx/g8SPhW8+MIZ9mVRSxJNcptH+lVL73jKWfXnDVMgVghrpw1pf2qOf0tpQk/Pzt1FhT4hO5adwrLau/9ckN91TTJHAuXSi9rRxQG7o9DofIAcajCyC23ZF+a2qkgYJcDUlLMVWZeinj43ztbFAZvT+DJHhAZm1VKNgfVHf4DVi8agZqoYHFWnGQOalzIbJPWiMahlLgdJnWYM6JETDIMoTRUHuwZVH/dLQoEpupkV1Wp2Iz3aceCvRGXbA3aYvCuOQ9/sXDM00I3jerG3bVr30e3bxOKMb/malyo0P4YidE41wgdBh916UVyv71booiBNqnRidEEcoqkA6zQcGo8tG4G75WvCBmm6Kg62gJQIwGr7RHCBMS9ZcBEEW4zrxOCgXcLQOmzuNoH0pgvi+l7lirqOmwteuCGmJNTfVtm/CbV3wNCsDLYKlpRFsVRIaXlKbYqqutv+vtP2+OP7k7PT3Wp3LvgzSUFYvdx6OTSv8q1G2OzgfQiW+vUs92b3sQJ73mLVmR/9oNaEdwGnw36FZWVRvWKZJaXm3wZHMIxt327IBciSKgsZ0I7uAaRbXw+1iw9+kVIqnjevES84Q2wNni/vV8aPpq+E7atHQ7UVY2m7CVHnOHPhKwhXoHAGotkTuwgjGM+o78oIK/Lc3Ps/I5ZS/RLf0DyyeO7dCjXXFfMfBg3NCMYzmtXF0oIT/5JwiuKZ+jtEj3pGglT5yHynMClvvWm091mVDNebxMycptH5O82olPXN/tjl0cYCzX+1562rfRfcw8A+UEOOttpCfP8HxJUsow==" \ No newline at end of file +window.navigationData = "eJytmcty0zAUht/F65ZeoAWy64S2dKYhmfTCgmEh5JNYU1kyklwaGN6dsR3bUnRxKrNsz6//08U6OlK+/UkUvKhkkixBFpxJuN8UkBwkBVJZMkmAlbk80mNvMpXT5CB5IixNJh8OEkyRlMkkUTI9JPIQXhQIhmjy96DzvihVBkwRjBTh7FIILnpE3R7kkUNksk5O96NNOWOAlQejR+P8r4GBINjjr0fj/G/YDHIuNlOEM7ABRjiOcMsxoneKC7QGD8WSxJFmKzTNEKXA1uCZMEsSTbpkglOaA/Otva35D6wrhBUXch+kLo0n+0GjfG+JVNoeDA7Jo41mL+FnSQSkfqKhiOY8giCrjZ+ixSMZRErC1ktYCZDZPX8CX7rzKeO482o1PKQ+ZnlrDgtelMUUMQyUehfCIYrrb200L7yzY8ZHMO5JDrz0JQRLEkcKQ8b7P0j4VPDiC2fYl0UtSTTJbR7pd4HVlCKS956EKRArhKsTfxs0rU/PzvcuKo6nnFV/3rSmbo5LaUHd9Yo+1zuWnSK+/1yQ33W5s0AC5dKL2tHFAbtT1uh8gBxqMLILbUUZ5raqSBglwNSUsxVZl6KePjfO1sUBm4P+MkeEBmbVUo2B9VVFgNWLxqDmqhgcVacZA1qUMhsk9aIxqLtcDpI6zRjQIycYBlGaKg52DaquJO4IBaboZl5UX7Mb6dGOA38lKtue3cPkXXEc+mbnBqOBbhw3l71t07qPbt8mFmd8y9e8VKH5MRShc6oRPgg67NaL4no9W6GLgjSp0onRBXGIpris03BoPLZsBO6WrwkbpOmqONgSUiIAq+3rwwXGvGTBjyDYYlwnBgftEoa+w+baFEhvuiCu71WuqOu4heCFG2JKQv1tlf1zU3u9DM3KYKtgSVkUdwopLU+pTVFVd9v/77Q9/vj+5Ox0t9pdCP5MUhBWL7deDs2rfKsRNjt4H4Klfj3Lvdl9rMCet1h15kc/qDXhXcDpsF9hWVlUD2RmSan5t8ERDGPbtxtyCbKkykIGtKN7AOnW10Pt4oMrUkrF8+ah4wVniK3Bs/J+Zfxo+krYvno0VFsxlrabEHWOMxe+gnAFCmcgmj2xizCC8Yz6roywIs/Nk8JnxFKqvw80NI8snjtboea6Yv4W0dCMYDyj+bpYWnDi/ySconim/g7Ro56RIFU+Mt8pTMpbbxrtfVYlw/UmMTOnaXT+TjMqZX2zP3Z5tLFA81/teetq3wX3MLAP1JCjrbYQ3/8BDxlK8A==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 4637618c..ef3cdb78 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "eJy1mttu2zgQht+FuVVT82DH9l032wUKFNuiLXYvjKBQJToWqohaHXpAkHdfkDoNxbFKOeqdYXF+/iK/GVISH0mhvpdkf3gkX5MsJnvKtgHJwgdJ9uTdq7o6vS4KVZCA1EVK9iRKw7KU5cvh0vWpekhJ0F0he0Kegk5tTVmvFqmsrIo6qn4td2W3BdIBycNCZpXtbuiQrpjoe5Q+1q+6Vs/q5XMsy6hI8ipRmV+Po4gZvbP1pu9cX1/dqqySP6o3WSWLYxjJ3kDS/VO+RBtOzp11k5HKMhlVr6JI1Vn1b1KdPsg4KWRUzevsqhUKG6HvSXUqBiF8EPB7PGe0kGEl/5JVdJLFXG8m9tjHLmDHRtDPhgtkVcYvkvJFkp1kkVQyvtzOj+gUZvfyk/oqs7m22tiqjV1gdO5lJouwkn/mKn9fKHWcaamLj3OV5238IrY06LIszTB9TFKZVenP2d405LIszXiVg8jiBnU2vld5nT/LoU7FvFVZxuKtyo7JfV2EVlH09haNwpcxpVH7W2Vzi6Q2pCnL2tBlzLyJzQTepmHyUM43lMRm5qIufAFTpzCLU9nV9tswTb+E0deZ1hqRrq5Hg8gCBpNSN5dZlURhUwnnOEvKcBT9G4psUr5VYZxk97PNpX3cb7CVqvvE1IrbuqzUgyHvdVvTZzo1UrpgREbKUCgHqQWmuTd7SWHr7S1Yz3pDF+57ek/LbndSda/qC7w0QQsYeDiGM3tvIhboury8mpeLV/O6nL3dbEOWSXX4UPDWzO8782iBLitWg8mHACjbkf9WozyhjrXz7kSnmLnX94XKUXm7hf8jjK78K0/Bq64xTsbI5PSdtKtNorIP8r86KWQ8MXa/DJr1yKZhubyXq0FhehjO3+FUMX32KDQ1VfUyC5tU2R/yqAppBz/Drsq+GMFwLLi48S4Dz+xBvP0Wls7CNgtZ1UX2ST3DYSNRqUXMsdXuhq6H91Wv8vxjFVbD0lL9zHVBb/+e/e5Exu3bkynBq75x2Dc+szp19s4Ob5mrrJSfdS+TXY5bXtrfaDrxrn4xYUgvzry0hfdbEstiXETaTpEm0yvQVB9mz5wmMnOWVKQ3p/Ez+zUPwb79wsaz+r2dRnR8eVKbj27ndrQOfQuLJPySjvZGk5IbgY9Qr3mss8jctT0ovqJ1aar8CtHrLvlKfe+2BohWf22umFu+JtTdxlh3dwFJslj+IPtH8k0WpV6J9oRd8+sdCcgxkWmsPws0TgISqYcHabiIVVSbn3dts3+kfk2vGzetX65IcFgFXFxvN+LuLjh0weaC+aPTGP4xgZQEB4oFUieQWoGMBAcWsN31zXptBTInkFmBnAQHjvXInUBuBQoSHAQWKJxAYQWuSXBYY4FrJ3BtBW5IcNhggRsncGMF3pwbnBsn8MYK3JLgcIP1uHUCt1bgjgSHLRa4cwJ3NgCahx1KgMsOHcFj6EG5owg/NkBUY0Fx9lyGqA0R1WhQhga7HFEbJKrxoCiD1GWJ2jBRjQhFOaQuT9QGimpMKMoidZmiNlRUo0JRHqnLFbXBohoXiqJFXbaoDRfVyFAUL+ryRW3AmGaGooQxlzBmE8Y0MwwljLmEsVGJMjUKJYwhVcomjGlmGEoYcwljNmFMM8NQwphLGLMJY5oZhhLGXMKYTRjTzDCUMOYSxmzCmKlbKGHMJYzZhDHNDEMJYy5hzCaMaWYYShhzCWM2YVwzw1DCuEsYtwnjmhmOEsZdwrhNGNfMcJQw7hLGRwuhWQlRwjiyFtqEcc0M59gaw13CuE0Y18xwlDDuEsZtwrhmhq/Rnl3CuE0Y18xwlDDuEsZtwvj2/D27hHGbMK6Z4Sie3CWM24QJzQxH8RQuYcImTBjCUDyFS5iwCRPs7GgLlzBhEyY0MwJlW7iEidF2y+y3ULYFsuOyCROaGYGyLVzChE2Y0MwItHoKlzBhEyY0MwLfJ7qEtX+Znfk3WVQyftPs0A8HEuZ52byMeCSf24077x8UHglfk/3j09OwUd8/PoG9ur6m+2pfaw4a7GbQYFt/jf7V4CAlVoOU4LOl+rc/liaQ9FfM+8dDoESB1AVa/WtGMP5g7PhuvqT5gGZeFWDiW+B3daG4eR+Aie+AOPUSnzq3MwivB10/IN3XXcAlUOObRkAwX9nh/NigCBjwvusx5gyMHfebmNG5okFrM0htvJTao0HADUjfJubGX8g+ggYGHtyhn5p9NGhQAhniV1yQEz2DGkgJv3Q7dwZnkASTSf0m8+ypGYAZqITUDzT3vAuQg9j68W+fVgFSgBfqN7fuORMgB0ihfkX13NkQIAqKPvWrIs6xDqAGigj1SzJwDgPogFylfjlmf54C6QXw4H54TB+4AC5BwlG/jBsflgBiIN+oX8IhpxyAHkg25pds3UkFUPDA4DHvwVM1tsYyQBrzI80cXgAKIDWZX2oqg+q4joO78huZcx8TAWbAG/f0Zn/xA1qgbnC/utEpncsCBhKT+SXm6EMVsAeSk/sl5/AlCsjAhU80gdwvi8ozBZfBBdpv4OpSOtt0AWSEH6nN6RLgBNwc86vVOpFdK0BH+M1br5M3ZzqAKTBxzG/iOrEB+qL/JgJcwieH5wpj9ILayDxq411A8iSXaZJJsj/cPT39D0IndvA="; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/classes/AuthenticationError.html b/docs/classes/AuthenticationError.html index f97d0d86..a0eab8ee 100644 --- a/docs/classes/AuthenticationError.html +++ b/docs/classes/AuthenticationError.html @@ -1,6 +1,6 @@
Thrown when handling the redirect callback for the connect flow fails, will be one of Auth0's Authentication API's Standard Error Responses: https://auth0.com/docs/api/authentication?javascript#standard-error-responses
-Thrown when network requests to the Auth server fail.
-try {
const challenge = await mfa.challenge({
mfaToken: mfaToken,
challengeType: 'otp',
authenticatorId: 'otp|dev_123'
});
} catch (error) {
if (error instanceof MfaChallengeError) {
console.log(error.error); // 'too_many_attempts'
console.log(error.error_description); // 'Rate limit exceeded'
}
}
-Base class for MFA-related errors in auth0-spa-js. Extends GenericError for unified error hierarchy across the SDK.
-Error thrown when the token exchange results in a mfa_required error
try {
const tokens = await mfa.verify({
mfaToken: mfaToken,
grant_type: 'http://auth0.com/oauth/grant-type/mfa-otp',
otp: '123456'
});
} catch (error) {
if (error instanceof MfaVerifyError) {
console.log(error.error); // 'invalid_otp' or 'context_not_found'
console.log(error.error_description); // Error details
}
}
-Error thrown when there is no refresh token to use
-An OAuth2 error will come from the authorization server and will have at least an error property which will
be the error code. And possibly an error_description property
See: https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.3.1.2.6
-Optionalerror_description: stringOptionalerror_description: stringOptionalerror_OptionalstackStaticstackThe Error.stackTraceLimit property specifies the number of stack frames
collected by a stack trace (whether generated by new Error().stack or
Error.captureStackTrace(obj)).
The default value is 10 but may be set to any valid JavaScript number. Changes
diff --git a/docs/classes/PopupCancelledError.html b/docs/classes/PopupCancelledError.html
index b67cafea..62c043c1 100644
--- a/docs/classes/PopupCancelledError.html
+++ b/docs/classes/PopupCancelledError.html
@@ -1,5 +1,5 @@
Thrown when network requests to the Auth server fail.
-Thrown when network requests to the Auth server fail.
-Error thrown when the login popup times out (if the user does not complete auth)
-Thrown when silent auth times out (usually due to a configuration issue) or when network requests to the Auth server timeout.
-Error thrown when the wrong DPoP nonce is used and a potential subsequent retry wasn't able to fix it.
-OptionaladdressOptionalbirthdateOptionalemailOptionalemail_Optionalfamily_OptionalgenderOptionalgiven_OptionallocaleOptionalmiddle_OptionalnameOptionalnicknameOptionalphone_Optionalphone_OptionalpictureOptionalpreferred_OptionalprofileOptionalsubOptionalupdated_OptionalwebsiteOptionalzoneinfoOptionalactOptionaladdressOptionalbirthdateOptionalemailOptionalemail_Optionalfamily_OptionalgenderOptionalgiven_OptionallocaleOptionalmiddle_OptionalnameOptionalnicknameOptionalphone_Optionalphone_OptionalpictureOptionalpreferred_OptionalprofileOptionalsubOptionalupdated_OptionalwebsiteOptionalzoneinfoProvides the Auth0Context to its child components.
-Use the useAuth0 hook in your components to access the auth state and methods.
TUser is an optional type param to provide a type to the user field.
Wrap your class components in this Higher Order Component to give them access to the Auth0Context.
Providing a context as the second argument allows you to configure the Auth0Provider the Auth0Context should come from f you have multiple within your application.
-When you wrap your components in this Higher Order Component and an anonymous user visits your component they will be redirected to the login page; after login they will be returned to the page they were redirected from.
-Represents the actor claim (act) in an ID token returned via a token exchange response.
The act claim identifies the acting party — the entity that has been delegated authority
+to act on behalf of the subject. It is set via Auth0 Actions using the setActor command.
Contains the authenticated state and authentication methods provided by the useAuth0 hook.
If connecting the account is successful onRedirectCallback will be called
with the details of the connected account.
Returns a new Fetcher class that will contain a fetchWithAuth() method.
+
Returns a new Fetcher class that will contain a fetchWithAuth() method.
This is a drop-in replacement for the Fetch API's fetch() method, but will
handle certain authentication logic for you, like building the proper auth
headers or managing DPoP nonces and retries automatically.
Check the EXAMPLES.md file for a deeper look into this method.
Optionalconfig: FetcherConfig<TOutput>The options required to perform the token exchange
+Optionalconfig: FetcherConfig<TOutput>const tokenResponse = await customTokenExchange({
subject_token: 'ey...',
subject_token_type: 'urn:acme:legacy-system-token',
actor_token: 'ey...',
actor_token_type: 'https://idp.example.com/token-type/agent',
});
+
+
+Exchanges an external subject token for Auth0 tokens without affecting the current session.
+Unlike loginWithCustomTokenExchange, this method has no side effects — it does not cache
+tokens, does not update the authenticated session, and does not affect isAuthenticated
+or user. Use this for delegation or impersonation scenarios where you need a downstream
+API token without changing who the current user is.
When actor_token is present Auth0 suppresses refresh token issuance; a missing
+refresh_token in the response is expected and will not cause an error.
The options required to perform the token exchange.
+A promise that resolves to the token endpoint response.
+The options required to perform the token exchange
A promise that resolves to the token endpoint response containing Auth0 tokens
Use loginWithCustomTokenExchange() instead. This method will be removed in the next major version.
const tokenResponse = await exchangeToken({
subject_token: 'external_token_value',
subject_token_type: 'urn:acme:legacy-system-token',
scope: 'openid profile email'
});
@@ -51,13 +64,13 @@
// Instead of:
const tokens = await exchangeToken(options);
// Use:
const tokens = await loginWithCustomTokenExchange(options);
-Returns a string to be used to demonstrate possession of the private +
Returns a string to be used to demonstrate possession of the private key used to cryptographically bind access tokens with DPoP.
It requires enabling the Auth0ClientOptions.useDpop option.
Returns a string to be used to demonstrate possession of the private key used to cryptographically bind access tokens with DPoP.
It requires enabling the Auth0ClientOptions.useDpop option.
-const token = await getAccessTokenSilently(options);
+const token = await getAccessTokenSilently(options);
If there's a valid token stored, return it. Otherwise, opens an @@ -76,7 +89,7 @@ back to using an iframe to make the token exchange.
Note that in all cases, falling back to an iframe requires access to
the auth0 cookie.
const token = await getTokenWithPopup(options, config);
+const token = await getTokenWithPopup(options, config);
Get an access token interactively.
@@ -84,7 +97,7 @@ provided as arguments. Random and securestate and nonce
parameters will be auto-generated. If the response is successful,
results will be valid according to their expiration times.
-const config = getConfiguration();
// { domain: 'tenant.auth0.com', clientId: 'abc123' }
+const config = getConfiguration();
// { domain: 'tenant.auth0.com', clientId: 'abc123' }
Returns a readonly copy of the initialization configuration @@ -94,7 +107,7 @@
Returns the current DPoP nonce used for making requests to Auth0.
+Returns the current DPoP nonce used for making requests to Auth0.
It can return undefined because when starting fresh it will not
be populated until after the first response from the server.
It requires enabling the Auth0ClientOptions.useDpop option.
@@ -109,16 +122,16 @@const claims = await getIdTokenClaims();
+const claims = await getIdTokenClaims();
Returns all claims from the id_token if available.
-After the browser redirects back to the callback page, +
After the browser redirects back to the callback page,
call handleRedirectCallback to handle success and error
responses from Auth0. If the response is successful, results
will be valid according to their expiration times.
Optionalurl: stringThe URL to that should be used to retrieve the state and code values. Defaults to window.location.href if not given.
await loginWithCustomTokenExchange(options);
+await loginWithCustomTokenExchange(options);
Exchanges an external subject token for Auth0 tokens and logs the user in. @@ -142,7 +155,7 @@
const options = {
subject_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...',
subject_token_type: 'urn:acme:legacy-system-token',
scope: 'openid profile email',
audience: 'https://api.example.com',
organization: 'org_12345'
};
try {
const tokenResponse = await loginWithCustomTokenExchange(options);
console.log('Access token:', tokenResponse.access_token);
// User is now logged in - access user info
const user = await getUser();
console.log('Logged in user:', user);
} catch (error) {
console.error('Token exchange failed:', error);
}
-await loginWithPopup(options, config);
+await loginWithPopup(options, config);
Opens a popup with the /authorize URL using the parameters
@@ -152,20 +165,20 @@
IMPORTANT: This method has to be called from an event handler that was started by the user like a button click, for example, otherwise the popup will be blocked in most browsers.
-await loginWithRedirect(options);
+await loginWithRedirect(options);
Performs a redirect to /authorize using the parameters
provided as arguments. Random and secure state and nonce
parameters will be auto-generated.
auth0.logout({ logoutParams: { returnTo: window.location.origin } });
+auth0.logout({ logoutParams: { returnTo: window.location.origin } });
Clears the application session and performs a redirect to /v2/logout, using
the parameters provided as arguments, to clear the Auth0 session.
If the logoutParams.federated option is specified, it also clears the Identity Provider session.
Read more about how Logout works at Auth0.
const { mfa } = useAuth0();
const authenticators = await mfa.getAuthenticators(mfaToken);
+const { mfa } = useAuth0();
const authenticators = await mfa.getAuthenticators(mfaToken);
MFA API client for Multi-Factor Authentication operations.
@@ -180,7 +193,7 @@const { mfa, getAccessTokenSilently } = useAuth0();
try {
await getAccessTokenSilently();
} catch (error) {
if (error.error === 'mfa_required') {
// Check if enrollment is needed
const factors = await mfa.getEnrollmentFactors(error.mfa_token);
if (factors.length > 0) {
// Enroll in OTP
const enrollment = await mfa.enroll({
mfaToken: error.mfa_token,
factorType: 'otp'
});
console.log('QR Code:', enrollment.barcodeUri);
}
// Get authenticators and challenge
const authenticators = await mfa.getAuthenticators(error.mfa_token);
await mfa.challenge({
mfaToken: error.mfa_token,
challengeType: 'otp',
authenticatorId: authenticators[0].id
});
// Verify with user's code
const tokens = await mfa.verify({
mfaToken: error.mfa_token,
otp: userCode
});
}
}
-Sets the current DPoP nonce used for making requests to Auth0.
+Sets the current DPoP nonce used for making requests to Auth0.
It requires enabling the Auth0ClientOptions.useDpop option.
Sets the current DPoP nonce used for making requests to Auth0.
It requires enabling the Auth0ClientOptions.useDpop option.
@@ -192,4 +205,4 @@Email enrollment parameters
-OptionalemailEmail address (optional, uses user's email if not provided)
diff --git a/docs/interfaces/EnrollOtpParams.html b/docs/interfaces/EnrollOtpParams.html index 0236a64c..559ce36e 100644 --- a/docs/interfaces/EnrollOtpParams.html +++ b/docs/interfaces/EnrollOtpParams.html @@ -1,5 +1,5 @@OTP (Time-based One-Time Password) enrollment parameters
-The factor type for enrollment
MFA token from mfa_required error
diff --git a/docs/interfaces/EnrollPushParams.html b/docs/interfaces/EnrollPushParams.html index cde6fa41..6a1b93f1 100644 --- a/docs/interfaces/EnrollPushParams.html +++ b/docs/interfaces/EnrollPushParams.html @@ -1,5 +1,5 @@Push notification enrollment parameters
-The factor type for enrollment
MFA token from mfa_required error
diff --git a/docs/interfaces/EnrollSmsParams.html b/docs/interfaces/EnrollSmsParams.html index 220269da..7836af72 100644 --- a/docs/interfaces/EnrollSmsParams.html +++ b/docs/interfaces/EnrollSmsParams.html @@ -1,5 +1,5 @@SMS enrollment parameters
-The factor type for enrollment
diff --git a/docs/interfaces/EnrollVoiceParams.html b/docs/interfaces/EnrollVoiceParams.html index 9f0fab02..4b673f1f 100644 --- a/docs/interfaces/EnrollVoiceParams.html +++ b/docs/interfaces/EnrollVoiceParams.html @@ -1,5 +1,5 @@Voice enrollment parameters
-The factor type for enrollment
diff --git a/docs/interfaces/GetTokenWithPopupOptions.html b/docs/interfaces/GetTokenWithPopupOptions.html index 36200771..47b70cb2 100644 --- a/docs/interfaces/GetTokenWithPopupOptions.html +++ b/docs/interfaces/GetTokenWithPopupOptions.html @@ -1,4 +1,4 @@ -OptionalauthorizationURL parameters that will be sent back to the Authorization Server. This can be known parameters defined by Auth0 or custom parameters that you define.
diff --git a/docs/interfaces/IdToken.html b/docs/interfaces/IdToken.html index deea3a65..84bc3c5b 100644 --- a/docs/interfaces/IdToken.html +++ b/docs/interfaces/IdToken.html @@ -1,5 +1,6 @@ -OptionalacrOptionaladdressOptionalamrOptionalat_OptionalaudOptionalauth_OptionalazpOptionalbirthdateOptionalc_OptionalcnfOptionalemailOptionalemail_OptionalexpOptionalfamily_OptionalgenderOptionalgiven_OptionaliatOptionalissOptionaljtiOptionallocaleOptionalmiddle_OptionalnameOptionalnbfOptionalnicknameOptionalnonceOptionalorg_Optionalorg_Optionalphone_Optionalphone_OptionalpictureOptionalpreferred_OptionalprofileOptionalsidOptionalsub_Optionalupdated_OptionalwebsiteOptionalzoneinfoOptionalacrOptionalactThe actor claim, present in ID tokens returned via token exchange responses.
+Identifies the acting party that has been delegated authority to act on behalf
+of the subject. Set via Auth0 Actions using the setActor command.
OptionaladdressOptionalamrOptionalat_OptionalaudOptionalauth_OptionalazpOptionalbirthdateOptionalc_OptionalcnfOptionalemailOptionalemail_OptionalexpOptionalfamily_OptionalgenderOptionalgiven_OptionaliatOptionalissOptionaljtiOptionallocaleOptionalmiddle_OptionalnameOptionalnbfOptionalnicknameOptionalnonceOptionalorg_Optionalorg_Optionalphone_Optionalphone_OptionalpictureOptionalpreferred_OptionalprofileOptionalsidOptionalsub_Optionalupdated_OptionalwebsiteOptionalzoneinfoOptionalclientThe clientId of your application.
Components wrapped in withAuth0 will have an additional auth0 prop
Options for the withAuthenticationRequired Higher Order Component
-OptionalcontextThe context to be used when calling useAuth0, this should only be provided if you are using multiple Auth0Providers within your application and you wish to tie a specific component to a Auth0Provider other than the Auth0Provider associated with the default Auth0Context.
-OptionalloginwithAuthenticationRequired(Profile, {
loginOptions: {
appState: {
customProp: 'foo'
}
}
})
+OptionalloginwithAuthenticationRequired(Profile, {
loginOptions: {
appState: {
customProp: 'foo'
}
}
})
Pass additional login options, like extra appState to the login page.
This will be merged with the returnTo option used by the onRedirectCallback handler.
OptionalonwithAuthenticationRequired(Profile, {
onBeforeAuthentication: () => { analyticsLibrary.track('login_triggered'); }
})
+OptionalonwithAuthenticationRequired(Profile, {
onBeforeAuthentication: () => { analyticsLibrary.track('login_triggered'); }
})
Allows executing logic before the user is redirected to the login page.
-OptionalonwithAuthenticationRequired(Profile, {
onRedirecting: () => <div>Redirecting you to the login...</div>
})
+OptionalonwithAuthenticationRequired(Profile, {
onRedirecting: () => <div>Redirecting you to the login...</div>
})
Render a message to show that the user is being redirected to the login.
-OptionalreturnwithAuthenticationRequired(Profile, {
returnTo: '/profile'
})
+OptionalreturnwithAuthenticationRequired(Profile, {
returnTo: '/profile'
})
or
@@ -28,4 +28,4 @@Add a path for the onRedirectCallback handler to return the user to after login.
The state of the application before the user was redirected to the login page and any account that the user may have connected to.
-The main configuration to instantiate the Auth0Provider.
Either provide domain and clientId (Auth0ProviderWithConfigOptions)
or a pre-configured client instance (Auth0ProviderWithClientOptions).
Options for Auth0Provider when configuring Auth0 via domain and clientId.
Use this type when building wrapper components around Auth0Provider.
The account that has been connected during the connect flow.
-Represents the configuration options required for initiating a Custom Token Exchange request following RFC 8693 specifications.
Additional custom parameters for Auth0 Action processing
+Additional custom parameters for Auth0 Action processing
Optionalactor_A token representing the acting party for delegation or impersonation scenarios.
+Optionalactor_The type identifier for the actor token.
+OptionalaudienceThe target audience for the requested Auth0 token
+OptionalorganizationID or name of the organization to use when authenticating a user. When provided, the user will be authenticated using the organization context. The organization ID will be present in the access token payload.
OptionalscopeSpace-separated list of OAuth 2.0 scopes being requested
-The opaque token value being exchanged for Auth0 tokens
@@ -31,7 +45,7 @@jose, jsonwebtokenThe type identifier for the subject token being exchanged
@@ -45,7 +59,7 @@ -ConstThe Auth0 Context
-
Thrown when handling the redirect callback fails, will be one of Auth0's Authentication API's Standard Error Responses: https://auth0.com/docs/api/authentication?javascript#standard-error-responses
-