Code Monkey home page Code Monkey logo

Comments (6)

cocojoe avatar cocojoe commented on July 17, 2024 1

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.

JRG-Developer avatar JRG-Developer commented on July 17, 2024 1

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.

cocojoe avatar cocojoe commented on July 17, 2024

Please have a look at https://auth0.com/docs/scopes/current Thx

from auth0.swift.

JRG-Developer avatar JRG-Developer commented on July 17, 2024

@cocojoe

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.

hzalaz avatar hzalaz commented on July 17, 2024

@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.

JRG-Developer avatar JRG-Developer commented on July 17, 2024

@cocojoe

Thank you for the code example. I'll give this a go.

from auth0.swift.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.