Comments (6)
If you had looked at the Example: Add Custom Claims > Sample Rule:
You can modify this to add the app_metadata
value to the id_token
, for example if you have a roles
property it can be returned as a custom claim by adding a rule as follow:
function (user, context, callback) {
if (context.idToken) {
// You could use app_metadata or any other source for permission data
// IMPORTANT: The claim name needs to use an HTTP-based namespace
context.idToken["https://example.com/roles"] = user.app_metadata.roles;
}
callback(null, user, context);
}
Once you decode the id_token
JWT it will be presented as a custom claim:
...
"https://example.com/roles": [
"admin"
]
from auth0.swift.
For future Google users that find this thread - I was able to solve this based on @cocojoe 's suggestion to use a rule.
Here's my rule:
function (user, context, callback) {
var app_metadata = user.app_metadata || { };
var key = "https://mydomain.com/app_metadata";
if (context.accessToken) {
context.accessToken[key] = app_metadata;
}
if (context.idToken) {
context.idToken[key] = app_metadata;
}
callback(null, user, context);
}
Where you need to replace mydomain.com
with your actual domain name.
Thanks again, @cocojoe
from auth0.swift.
Please have a look at https://auth0.com/docs/scopes/current Thx
from auth0.swift.
RTFM isn't helpful.
This document doesn't mention app_metadata
anywhere, but rather, only gives examples of other claims.
I suspect one of the following is true:
(1) This is a regression. It's possible to simply include app_metadata
in the scope for the legacy call, and it gets correctly added to the id_token
.
(2) This is possible to do (I hope), but it's poorly documented, as it's not mentioned in the documentation.
from auth0.swift.
@JRG-Developer this is not an issue of the library since its doing whats intended for the method since the new grant only allows the scopes either from OpenID connect or from your API identified by the audience parameter.
Also @cocojoe was right with RTFM since in that document https://auth0.com/docs/scopes/current#custom-claims you can find how you should be adding metadata to the id_token via a rule since thats is how it should be one using the new method.
from auth0.swift.
Thank you for the code example. I'll give this a go.
from auth0.swift.
Related Issues (20)
- Versions prior to 2.4.0 (namely the previous one 2.3.2) are not compatible with iOS 12 anymore HOT 2
- Crash with numeric bundle indentifier HOT 1
- The .start method callback is sometimes not called HOT 5
- The callback execution thread is not consistent HOT 4
- Auth0 not working in iOS 17. Not able to login HOT 8
- In v2 we can no longer build out our own token request HOT 9
- Login with OTP with custom realm HOT 1
- Custom minTTL support with renew() API HOT 2
- Passwordless authentication does not accept additional parameters HOT 2
- Privacy Manfiest HOT 4
- SWIFT TASK CONTINUATION MISUSE: clearSession(federated:) leaked its continuation! HOT 2
- Auth0 does not support visionOS
- Missing AuthenticationError helper for Revoked tokens
- Auth0 does not support Social Logins for visionOS HOT 1
- isNetworkError does not report case where Wifi + Mobile Data is off HOT 1
- Auth0.webAuth() doesn't work during migration from iOS to VisionOS platform HOT 17
- Auth0 crashes due to swift task continuation misuse HOT 7
- Unable to install latest version. HOT 2
- Privacy manifest HOT 3
- signup func to support setting given_name and family_name HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from auth0.swift.