ADAL.js 使用 ExtJS 应用程序更新令牌

ADAL.js token renewal with ExtJS application

我正在尝试将针对 Azure AD 的 ADAL.js 实施到我的 ExtJS 应用程序 (SPA) 中。这一直有效到第一个令牌过期并应该更新的程度。

我做了一个fiddle:

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

重现步骤:

在“网络”选项卡中,我看到在令牌更新期间,对 login.microsoftonline.com 的调用转发到

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

这意味着令牌从服务器返回,但在客户端没有正确处理。我是不是漏掉了什么重要的东西?

令牌续订超时可能有多种原因。这记录在 ADAL.js FAQ 中。

查看提供的fiddle,本例错误的原因可能是handleWindowCallback没有被调用。您可以在 sample.

中看到这方面的示例