2017-10-04 6 views
1

J'essaie d'implémenter ADAL.js contre Azure AD dans mon application ExtJS (SPA). Cela fonctionne au point où le premier jeton expire et devrait être renouvelé.Renouvellement de jeton ADAL.js avec l'application ExtJS

J'ai fait un violon:

https://fiddle.sencha.com/#view/editor&fiddle/27oc

Étapes pour reproduire:

  • Entrez votre locataire et id app.
  • Cliquez sur "Connexion". La fenêtre de connexion s'ouvre.
  • Connexion. Vous devez maintenant définir l'URL de redirection dans votre application dans le portail Azure conformément au petit message d'erreur gris en bas.
  • Ferme la fenêtre contextuelle.

  • Cliquez à nouveau sur "Connexion". La fenêtre de connexion s'ouvre à nouveau. Connectez-vous.

  • Vérifiez qu'un jeton est présent en cliquant sur "Afficher le jeton".
  • Pour ne pas avoir à attendre une heure, cliquez sur "Invalider le jeton (expire le)".
  • Ensuite, cliquez sur "Renouveler le jeton" pour acquérir un nouveau jeton du serveur de connexion.
  • Attendre 6 secondes constater que l'erreur suivante est générée:

    opération de renouvellement Token a échoué en raison de délai d'attente

Dans l'onglet Réseau, je vois que lors du renouvellement symbolique, un appel à login.microsoftonline.com transmet à

https://fiddle.sencha.com/local/15071063979572828477/#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhIQnlLVS0wRHFBcU1aaDZaRlBkMlZXYU90ZyIsImtpZCI6IkhIQnlLVS0wRHFBcU1aaDZaRlBkMlZXYU90ZyJ9.eyJhdWQiOiI2MmU4MjBhOS1mMTg0LTQ3ZjYtOGZhMS1kYjk0YmJmZDcxYTUiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8wOTI2NWMwNi1mYTM2LTRhN2EtOTBjZC1lM2MyYjBkZDFjMzkvIiwiaWF0IjoxNTA3MTA4NDE5LCJuYmYiOjE1MDcxMDg0MTksImV4cCI6MTUwNzExMjMxOSwiYWlvIjoiWTJWZ1lOZ3VlMVNEaDErY3MvajRVZDVNejRxUFd2ZmZwOWVjbkhKdk1udTcyb3RlYmdZQSIsImFtciI6WyJwd2QiXSwiZmFtaWx5X25hbWUiOiJVcmJhbiIsImdpdmVuX25hbWUiOiJBbGV4YW5kZXIiLCJpcGFkZHIiOiI4Ny4xMzguMTAwLjQ1IiwibmFtZSI6IkFsZXhhbmRlciBVcmJhbiIsIm5vbmNlIjoiODNjYzZhZWEtMmE0OC00Y2I5LWI0ODMtZDM2MjU3ODU3YmNlIiwib2lkIjoiMGU0MTExNjEtOTVmOS00ZWRlLTgwMDktYWIwYzA5M2NlNDU4Iiwic3ViIjoiaDdsYnhaZm5vdEIyYThGZnRxR2ROaXg0bDZ3RUNBV1FZdjlRTUdxVm5tOCIsInRpZCI6IjA5MjY1YzA2LWZhMzYtN... 

ce qui signifie que t Le jeton revient du serveur, mais il n'est pas correctement traité côté client. Est-ce que je manque quelque chose d'important là-bas?

Répondre

1

La temporisation du renouvellement du jeton peut se produire pour différentes raisons. Ceci est documenté dans ADAL.js FAQ. En regardant le violon fourni, la raison de l'erreur dans ce cas peut être que le handleWindowCallback n'est pas appelé. Vous pouvez voir un exemple de ceci dans ce sample.