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
重现步骤:
- 输入您的租户和应用程序 ID。
- 点击"Login"。登录弹出窗口打开。
- 登录。您现在必须根据底部的灰色小错误消息在 Azure 门户中的应用程序中设置重定向 Url。
关闭弹窗window.
再次单击 "Login"。登录弹出窗口再次打开。登录。
- 通过单击 "Show token" 检查令牌是否存在。
- 为了不必等待一个小时,请单击 "Invalidate token (expire it)"。
- 然后,点击"Renew token"从登录服务器获取新的token。
等待6秒,发现抛出如下错误:
Token renewal operation failed due to timeout
在“网络”选项卡中,我看到在令牌更新期间,对 login.microsoftonline.com 的调用转发到
https://fiddle.sencha.com/local/15071063979572828477/#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhIQnlLVS0wRHFBcU1aaDZaRlBkMlZXYU90ZyIsImtpZCI6IkhIQnlLVS0wRHFBcU1aaDZaRlBkMlZXYU90ZyJ9.eyJhdWQiOiI2MmU4MjBhOS1mMTg0LTQ3ZjYtOGZhMS1kYjk0YmJmZDcxYTUiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8wOTI2NWMwNi1mYTM2LTRhN2EtOTBjZC1lM2MyYjBkZDFjMzkvIiwiaWF0IjoxNTA3MTA4NDE5LCJuYmYiOjE1MDcxMDg0MTksImV4cCI6MTUwNzExMjMxOSwiYWlvIjoiWTJWZ1lOZ3VlMVNEaDErY3MvajRVZDVNejRxUFd2ZmZwOWVjbkhKdk1udTcyb3RlYmdZQSIsImFtciI6WyJwd2QiXSwiZmFtaWx5X25hbWUiOiJVcmJhbiIsImdpdmVuX25hbWUiOiJBbGV4YW5kZXIiLCJpcGFkZHIiOiI4Ny4xMzguMTAwLjQ1IiwibmFtZSI6IkFsZXhhbmRlciBVcmJhbiIsIm5vbmNlIjoiODNjYzZhZWEtMmE0OC00Y2I5LWI0ODMtZDM2MjU3ODU3YmNlIiwib2lkIjoiMGU0MTExNjEtOTVmOS00ZWRlLTgwMDktYWIwYzA5M2NlNDU4Iiwic3ViIjoiaDdsYnhaZm5vdEIyYThGZnRxR2ROaXg0bDZ3RUNBV1FZdjlRTUdxVm5tOCIsInRpZCI6IjA5MjY1YzA2LWZhMzYtN...
这意味着令牌从服务器返回,但在客户端没有正确处理。我是不是漏掉了什么重要的东西?
我正在尝试将针对 Azure AD 的 ADAL.js 实施到我的 ExtJS 应用程序 (SPA) 中。这一直有效到第一个令牌过期并应该更新的程度。
我做了一个fiddle:
https://fiddle.sencha.com/#view/editor&fiddle/27oc
重现步骤:
- 输入您的租户和应用程序 ID。
- 点击"Login"。登录弹出窗口打开。
- 登录。您现在必须根据底部的灰色小错误消息在 Azure 门户中的应用程序中设置重定向 Url。
关闭弹窗window.
再次单击 "Login"。登录弹出窗口再次打开。登录。
- 通过单击 "Show token" 检查令牌是否存在。
- 为了不必等待一个小时,请单击 "Invalidate token (expire it)"。
- 然后,点击"Renew token"从登录服务器获取新的token。
等待6秒,发现抛出如下错误:
Token renewal operation failed due to timeout
在“网络”选项卡中,我看到在令牌更新期间,对 login.microsoftonline.com 的调用转发到
https://fiddle.sencha.com/local/15071063979572828477/#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhIQnlLVS0wRHFBcU1aaDZaRlBkMlZXYU90ZyIsImtpZCI6IkhIQnlLVS0wRHFBcU1aaDZaRlBkMlZXYU90ZyJ9.eyJhdWQiOiI2MmU4MjBhOS1mMTg0LTQ3ZjYtOGZhMS1kYjk0YmJmZDcxYTUiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8wOTI2NWMwNi1mYTM2LTRhN2EtOTBjZC1lM2MyYjBkZDFjMzkvIiwiaWF0IjoxNTA3MTA4NDE5LCJuYmYiOjE1MDcxMDg0MTksImV4cCI6MTUwNzExMjMxOSwiYWlvIjoiWTJWZ1lOZ3VlMVNEaDErY3MvajRVZDVNejRxUFd2ZmZwOWVjbkhKdk1udTcyb3RlYmdZQSIsImFtciI6WyJwd2QiXSwiZmFtaWx5X25hbWUiOiJVcmJhbiIsImdpdmVuX25hbWUiOiJBbGV4YW5kZXIiLCJpcGFkZHIiOiI4Ny4xMzguMTAwLjQ1IiwibmFtZSI6IkFsZXhhbmRlciBVcmJhbiIsIm5vbmNlIjoiODNjYzZhZWEtMmE0OC00Y2I5LWI0ODMtZDM2MjU3ODU3YmNlIiwib2lkIjoiMGU0MTExNjEtOTVmOS00ZWRlLTgwMDktYWIwYzA5M2NlNDU4Iiwic3ViIjoiaDdsYnhaZm5vdEIyYThGZnRxR2ROaXg0bDZ3RUNBV1FZdjlRTUdxVm5tOCIsInRpZCI6IjA5MjY1YzA2LWZhMzYtN...
这意味着令牌从服务器返回,但在客户端没有正确处理。我是不是漏掉了什么重要的东西?