【问题标题】:net core claims to security web.apinet core 声称安全 web.api
【发布时间】:2017-10-23 10:22:07
【问题描述】:

我创建了一个 REST Web API,并希望使用不记名令牌来保护它。没关系。 但我也想为 azure Active Directory 中的用户配置文件添加额外声明(来自 AAD 的 officenumber)。首先,我试图让我的安全人员通过 ADFS 添加额外的声明。但他说没有。他希望我调用 azure graph api 以获得所需的索赔。 但是如何在 API 中做到这一点? 我没有“登录”方法。我不想要一个带有身份信息的额外数据库。

【问题讨论】:

    标签: azure-active-directory asp.net-core-webapi bearer-token


    【解决方案1】:

    Here 您可以找到有关如何从您的 API 调用 Graph API(代表用户)的示例,特别是在 this 代码中。请注意,代表用户调用 Graph 不是强制性的,根据您的需求/场景,您可以使用客户端凭据流(无需用户断言)像 API(应用程序)本身一样调用 Graph。

    【讨论】:

    • 谢谢,我查看了您的链接,但您的意思是我需要调用 graph api 从 AAD 获得更多声明。我是否需要在每个请求中调用图形 api。我的senario是公正的。用户在 AAD 上执行 SSO,然后注册客户端 webapp(angular2) 并允许调用 webapi。然后在 api 中,我想用所需的要求和授权策略来评估授权。在这个过程中,我需要更多的声明,即 officenumber。
    • 好吧,上次我检查时,在 OAuth 流的情况下无法自定义声明 - 您只能在 SAML 中执行此操作,请参阅 docs.microsoft.com/en-us/azure/active-directory/develop/…。但情况可能已经改变。看看其他人是否可以提供帮助,并知道您现在是否可以在 OAuth/OIDC 流的情况下自定义声明。
    【解决方案2】:

    AFAIK,目前仍无法通过 OAuth/OIDC 流与 Azure AD 自定义声明。

    我是否需要在每个请求中调用图形 api。我的senario是公正的。用户在 AAD 上执行 SSO,然后注册客户端 webapp(angular2) 并允许调用 webapi。然后在 api 中,我想用所需的要求和授权策略来评估授权。在这个过程中,我需要更多的声明,即 officenumber

    没有。您可以在用户登录后生成声明,然后结合这些信息来生成新的 JWT 令牌。之后,您的后端只需要验证包含您的 SPA 生成的自定义信息的令牌。

    【讨论】:

      猜你喜欢
      • 2021-01-22
      • 2018-08-27
      • 2021-06-09
      • 2017-05-25
      • 2019-03-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-23
      • 2022-01-26
      相关资源
      最近更新 更多