【问题标题】:Owin AAD - required parameters for signature validationOwin AAD - 签名验证所需的参数
【发布时间】:2015-08-23 05:48:36
【问题描述】:

我正在使用 webapi 并尝试设置应用程序配置以进行正确的签名验证 WindowsAzureActiveDirectoryBearerAuthenticationOptions

我注意到 MetadataAddress 字段未在几个在线示例和 AAD 身份验证示例中使用:https://github.com/AzureADSamples/NativeClient-WebAPI-MultiTenant-WindowsStore/blob/master/TodoListServiceMT/App_Start/Startup.Auth.cs

当我启动应用程序时,我注意到在应用程序启动时有一个对https://login.windows.net/common/federationmetadata/2007-06/federationmetadata.xml 的请求,即使该字段未设置。这是 MetadataAddress 的默认值吗?

  • 签名验证如何工作,即使 sts 地址是 令牌不同?
  • 在自定义 sts 服务的情况下如何处理验证?

【问题讨论】:

    标签: asp.net-web-api oauth-2.0 asp.net-web-api2 katana adal


    【解决方案1】:

    选项中传入的tenant参数足以让中间件确定对应的Azure AD租户元数据文档的位置。在多租户应用程序的情况下,正如您所观察到的那样,该值很常见。在多租户示例中,您可以看到有一个自定义逻辑接管了颁发者的验证(您称之为“sts 地址”——这更像是一个标识符)。正如您在链接的文件中看到的那样,这些选项通过开关ValidateIssuer = false 关闭颁发者验证。如果您查看https://github.com/AzureADSamples/NativeClient-WebAPI-MultiTenant-WindowsStore/blob/master/TodoListServiceMT/AuthorizationFilters/MTAuthorizeAttribute.cs,您会发现它执行的逻辑旨在将传入令牌中的颁发者与受信任的颁发者列表进行比较。您自己的应用程序可能有不同的业务逻辑来确定传入令牌的颁发者是否应该被信任。

    【讨论】:

    • 谢谢。在自定义 issuer/sts 服务的情况下如何处理验证?
    • 你的意思是不是来自天蓝色的广告?这将取决于您用于从自定义 sts 获取身份验证信息的任何机制。
    • 对于自定义颁发者,sts 在令牌中声明是否指向您获取签名令牌的正确位置。
    • 自定义发行者可以做任何事...但在 azure 广告案例中,情况并非如此。正如我上面提到的,发行人声称拥有一个标识符 - 不一定对应于网络可寻址端点,在 azure ad 的情况下它不
    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    相关资源
    最近更新 更多