首页 > 解决方案 > 使用 Microsft Graph/Azure AD 作为我的 API 的身份验证器来验证用户实体的逻辑是什么?

问题描述

我已经使用 Microsoft Graph/Azure AD 身份验证创建了身份验证流程。一旦我获得经过身份验证的用户的令牌,我就会将它们存储在他的 cookie 中。为了验证用户的令牌,我调用了 Microsft Graph API 资源/me。这似乎不是一个好方法,因为基本上每次客户端向我的 API 发出请求时,他基本上都会发出 2 个请求,因为我的 API 请求 Azure AD 进行验证。

这是一个很好的流程吗?

标签: azuresecurityoauthazure-active-directory

解决方案


您不必为不属于您的 api 验证令牌(颁发给您的 AppId Uri)。

例如,Graph 验证发送给它的令牌(为“ https://graph.microsoft.com颁发)。

如果您在 Azure AD 中构建并注册您自己的 Api(例如 AppIdUri="https://myapi.mydomain.com"),您的客户端将请求和接收访问令牌,并将 aud 声明设置为“ https://myapi. mydomain.com ”。

客户端本身不需要验证为您的 Api 颁发的访问令牌但是您的 Api 在收到这些访问令牌时必须验证它们。除其他事项外,验证将验证访问令牌已颁发给“ https://myapi.mydomain.com ”。

试试这个示例,以更好地理解令牌验证的概念。


推荐阅读