2017-10-12 3 views
0

Je voudrais mettre en œuvre la base de flux Identity rationalisée sur cette documentation: https://developers.google.com/actions/identity/oauth2-assertion-flowNon signé la demande JWT au point final d'échange symbolique (Google rationalisée Identity flux)

J'ai créé mon serveur (Node.js + noeud-oauth2 -server) et testé avec succès avec OAuth 2.0 Playground.

Flux de code d'autorisation implémenté, liaison de compte activée. Selon la documentation: "Lorsque Google doit accéder aux ressources de votre service et que l'utilisateur est connecté à son compte Google, Google envoie un JWT signé avec des informations sur l'utilisateur à votre point de terminaison d'échange de jetons.".

La demande est attendue:

POST /token HTTP/1.1 

Host: oauth2.example.com 

Content-Type: application/x-www-form-urlencoded 

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=ACTION&assertion=JWT&consent_code=CONSENT 

Le problème est qu'il n'y a pas une telle demande, le point final jeton être appelée avec e sans aucune information JWT.

J'ai essayé la démonstration de liaison de compte Google et le simulateur d'action, mêmes résultats.

Pourquoi la demande JWT grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer est manquante? Que devrait-on changer pour recevoir de telles demandes?

Répondre

0

J'ai rencontré le même problème. Dans mon cas, chaque fois que j'ai validé le "Quick account linking" j'ai eu une erreur lors des tests avec le simulateur. Et par conséquent, le «lien de compte transparent» n'était pas engagé.

Il suffisait que je remplisse le champ: Lien vers les conditions de service 'dans les informations de l'application pour le simulateur pour commencer le test sans erreur.

Je vis alors arriver à l'écran décrit dans le document « des affirmations d'échange JWT pour jetons », qui permet de sélectionner un compte Google puis Google a envoyé à mon serveur OAuth2 une requête avec grant_type = urn: ietf: params: OAuth: subvention -type: jwt-bearer et j'ai vu l'arrivée du célèbre JSON Web Token (JWT) (Pour l'authentification de test, vous devez utiliser https://gala-demo.appspot.com/ avec le nom du projet avec _dev).

Dans mon cas, maintenant, la liaison de compte seeamless fonctionne bien.

J'espère que cela peut aider.

+0

Marc vous avez sauvé la journée! Merci beaucoup! J'ai vérifié les termes et les URL de confidentialité et il y a eu une faute de frappe. Après le correctif, cela fonctionne parfaitement maintenant (au moins sur la page de démonstration de gala) dans le simulateur il n'y a toujours pas de requête 'JWT grant_type = urn: ietf: params: oauth: grant-type: jwt-bearer'). – kissgab