【问题标题】:Custom claims for azure ad appazure 广告应用的自定义声明
【发布时间】:2018-06-18 14:49:33
【问题描述】:

是否可以在 Azure AD 应用程序注册表中向应用程序清单添加自定义声明? 我希望有一个端点来管理不同租户上不同应用程序的 sso。 因此,应用程序应该拥有带有重定向 url 的声明,并且在用户分配期间管理员应该将其更改为对应的应用程序。

【问题讨论】:

    标签: azure azure-active-directory


    【解决方案1】:

    这不是您处理重定向到不同 URL 的方式。还因为您必须通过指示redirect_url 来正确形成授权请求。如果您不知道谁会访问您的网站,您如何知道重定向 uri?

    请先阅读Application and service principal objects in Azure AD 文档。它将详细解释什么是应用程序以及什么是服务主体。以及两者之间的关系。以及什么是多租户应用程序。

    阅读文档后,您现在明白了只能有一个应用程序对象。注意Integrating Applications with Azure ADMulti tenant applications in Azure AD也不错。

    您不能使用自定义声明来管理重定向 uri,因为即使是 when you ere able to create a custom claim in app manifest,它的值也是基于用户属性的。

    您应该处理的方式是正确处理admin consent。您始终可以要求管理员同意,并且当您以以下形式处理对主重定向 uri 的管理员同意响应时:

    GET http://localhost/myapp/permissions?tenant=a8990e1f-ff32-408a-9f8e-78d3b9139b95&state=state=12345&admin_consent=True
    

    你记录下tenant_id,然后向管理员索要真实的redirect_id。

    但是,归根结底,您必须在租户的单个应用注册中管理所有重定向 uri。你确定要花这么大的开支吗?真正有意义的是提供一个重定向 uri,它是您的应用程序的子域。

    考虑正确的注册流程是多租户应用程序的真正重要部分。特别是如果您想要每个租户的自定义域。

    最简单的方法是为所有租户只拥有一个域,然后简单地重定向到他们。

    另一个 - 是拥有您自己的自定义注册流程,用户在您的域中选择一个子域并提供管理员同意以解决该愿望。在您收到管理员同意后(例如,您在 state 参数中编码了所需的自定义域),您可以在自定义域和租户之间进行映射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-15
      • 2022-10-07
      • 2022-10-25
      • 2017-03-03
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多