我刚开始用Web使用Azure Active身份验证。现在,我的单页应用程序简单上的登录页面将用户引导到Microsoft登录页面,在那里他们输入他们的凭据,然后被重定向回我的SPA。在重定向时,访问令牌现在是URL的一部分。是否可以通过JSON而不是URL的一部分获得这个令牌?这是一种安全风险,让用户可以看到令牌吗?如果没有其他方法来获取令牌,那么处理该令牌的最佳方法是什么?我是否应该读取URL并从那里提取令牌,然后再将用户重定向到实际的网站?
发布于 2019-01-23 22:05:19
您必须注意,在隐式流中,令牌仍将被维护在客户端站点(通常是本地存储)。因此,即使您将令牌隐藏在URL中,您仍将存储在客户端,这是您必须在SPA中管理的事情之一。您必须向您的web发送带有每个HTTP请求的令牌,以便在此端进行身份验证。
在隐式流中,令牌寿命短,不能为较长时间的访问发出刷新令牌。对于这种流,您需要使用官方库(ADAL.js)
https://github.com/AzureAD/azure-activedirectory-library-for-js
更多资源
https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow
发布于 2019-01-24 02:28:42
您可以使用ADAL.js库来获取令牌。有一个预先定义的函数,您必须在Ad身份验证之后调用它,或者在开始时检查您是否登录,您可以使用isauthenticated函数来检查是否已经登录,并在身份验证之后使用getaccesstoken函数获取令牌。
https://stackoverflow.com/questions/54331605
复制相似问题