2017-10-08 4 views
1

J'ai besoin de définir des paramètres supplémentaires dans auth0 pour que l'url fonctionne correctement. En authlock vous pouvez simplement faire ceci:Authparams dans auth0js

var lock = new Auth0Lock('clientID', 'account.auth0.com', { 
auth: { 
params: { 
    audience: 'url' 
    } 
} 
}); 

Je suppose que je dois ajouter le code à mon auth0config dans mon authservice mais je ne suis pas sûr quoi et comment:

const auth0Config = { 
// needed for auth0 
clientID: 'id', 

// needed for auth0cordova 
clientId: 'id', 
domain: 'url', 
callbackURL: location.href, 
packageIdentifier: 'id', 

}; 

Qui peut me dire comment faire?

Répondre

1

Pour le QuickStart ionique Auth0 2, essayé d'ajouter audience here (avec la mise à jour d'informations de portée):

Lecture de la source, attendu que cela fonctionne depuis plus tard lorsque la bibliothèque cordova utilise auth0.js, il appelle à terme this code et doit fusionner les options de base avec les options passées. Cependant, pour une raison quelconque ne semblait pas fonctionner.

Au lieu de cela, j'ai dû forcer le baseOptions en ajoutant une entrée supplémentaire ici pour l'audience dans le Cordova library itself par exemple.

function CordovaAuth(options) { 
    this.clientId = options.clientId; 
    this.domain = options.domain; 
    this.redirectUri = options.packageIdentifier + '://' + options.domain + '/cordova/' + options.packageIdentifier + '/callback'; 
    this.client = new auth0.Authentication({ 
    clientID: this.clientId, 
    domain: this.domain, 
    // just hard coded here for time being - need a check to see if present first.. 
    audience: options.audience, 
    _telemetryInfo: telemetry 
    }); 
} 

Et puis passer le public dans here instead - c'est la même section de code que vous mettez dans votre question. Faire ce qui précède fonctionne, et produit un jeton JWT Access avec les portées fournies, mais pas clair pourquoi simplement ajouter l'audience aux options ne fonctionnait pas à la place ...

Intéressant l'API semble indiquer qu'il expects audience et cette ligne suggère l'audience would be propogated et utilisé pour construire le authorizeUrlhere.

Avoir laissé un problème ouvert avec l'équipe de quickstarts Auth0 pour clarifier. Mais la solution ci-dessus vous permettra de travailler avec un jeton d'accès JWT en attendant. Vous pouvez soit bifurquer the repo et le contrôler de cette façon, ou juste pour tester aller de l'avant et éditer the source dans votre dossier node_modules pour vérifier qu'il fonctionne pour vous.

Je posterai une mise à jour sur cette réponse une fois que j'aurai reçu une réponse de l'équipe de quickstarts d'Auth0 concernant la solution "officielle".

+0

J'ai également demandé sur le forum auth0 et obtenu une réponse, mais moi n'étant pas si chanceux, cela n'a pas fonctionné. La poste est ici: https://community.auth0.com/questions/9793/test-token-is-different-from-generated-token-audie peut-être que cela rend plus logique pour vous, je vais essayer ce que je peut avec votre message. – Nathan

+0

J'ai changé le code source du nœud, et ajouté l'audience à l'endroit suggéré sur le forum auth0 et maintenant cela fonctionne. Je tiens à vous remercier pour vos instructions détaillées, car je peux enfin continuer mon projet. – Nathan

+0

Super d'entendre .. – arcseldon