首页 > 解决方案 > Azure 活动目录令牌

问题描述

我不熟悉通过 Web API 使用 Azure Active Directory 身份验证。现在,我的单页应用程序简单的登录页面将用户定向到 Microsoft 登录页面,他们在其中输入凭据,然后被重定向回我的 SPA。重定向后,访问令牌现在是 URL 的一部分。是否可以通过 JSON 而不是 URL 的一部分获取该令牌?像这样使令牌对用户可见是一种安全风险吗?如果没有其他方法可以获取令牌,那么最好的处理方法是什么?我应该阅读 URL 并从那里提取令牌,然后将用户再次重定向到实际网站吗?

标签: azureasp.net-web-apiazure-active-directory

解决方案


您必须注意隐式流程,令牌仍将保留在客户端站点(通常是本地存储)。因此,即使您从 URL 隐藏令牌,您仍将存储在客户端,这是您必须在 SPA 中管理的事情之一。您必须将令牌与每个 HTTP 请求一起发送到您的 Web api,以便在该端进行身份验证。

在隐式流令牌中是短暂的,您不能发出刷新令牌以获得更长的访问时间。对于这种流程,您需要使用官方库(ADAL.js)

https://github.com/AzureAD/azure-activedirectory-library-for-js

更多资源

https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow


推荐阅读