gpt4 book ai didi

基于 Azure AD 组的登录和 MS 图形 API

转载 作者:行者123 更新时间:2023-12-02 23:18:57 25 4
gpt4 key购买 nike

我有 Angular 4 SPA、Web API(.net core 2.0) 和 Azure AD

我的要求是:

1.将 SPA 身份验证(登录)限制为仅限某些 Azure AD 组。例如。我有两个组“销售”和“营销”,如果用户是这两个组中任一组的成员,则只有用户应该能够登录

2.用户登录后,可以使用 Microsoft Graph API 对其他用户执行某些管理操作

我的方法

  • 为了实现要求 1,我正在考虑实现可与 Azure AD 通信的身份服务器。然后,SPA 将使用身份服务器作为 IP,使用隐式流进行身份验证
  • 为了实现要求 #2,我认为我需要使用 Oauth 2.0 授权代码流或 OAuth 2.0 客户端凭据授予,并且我的 Web api(.net core 2.0) 将充当 secret 客户端,该客户端将拥有自己的访问 token 使用 MS graph API 执行管理操作
  • 因此,一旦用户登录,流程将是 SPA(具有在 Web api 中授权的访问 token )=> Web API(具有另一个具有高权限的访问 token )=> MS graph API => Azure AD

问题

  • 我的实现路径正确吗?
  • 如果没有,您能指导我正确的方向吗?

最佳答案

这就是我解决的方法

我使用了 Azure AD V2.0 端点、Angular 和 .net core 2.0

  1. 使用 implicit 从 Azure AD 获取 ID 和访问 token 流动。目前我没有用户的组信息
  2. 创建 Web API secured由 Azure AD 提供。它还可以识别从步骤 1 获取的访问 token
  3. 将访问 token 传递给 API 并检索群组信息以确定用户是否可以进入 SPA
  4. 已实现 claims transformation并将其缓存在 Web API 中
  5. 已创建 policy在 Web API 中确保仅允许特定组的成员访问 API 端点
  6. Web API 设置为使用客户端凭据授予流程与 Graph API 进行通信

关于基于 Azure AD 组的登录和 MS 图形 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50245054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com