是否可以在Azure AD应用程序注册表中向应用程序清单添加自定义声明? 我想有一个终点来管理不同应用程序上的不同应用程序的sso。 因此,app应该使用重定向网址声明,并且在用户分配期间,管理员应将其更改为相应的应用。
答案 0 :(得分:1)
这不是您处理重定向到不同网址的方式。另外,因为您必须通过指示redirect_url来正确地形成授权请求。如果您不知道谁来到您的网站,您将如何知道重定向uri?
请先阅读Application and service principal objects in Azure AD文件。它将详细解释您的应用程序和服务主体是什么。以及两者如何相关。什么是多租户申请。
阅读完文档后,您现在明白了只能有一个应用程序对象。注意Integrating Applications with Azure AD和Multi 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。
但是,在一天结束时,您必须在租户的单个应用程序注册中管理所有重定向uris。你确定要花大笔开支吗?真正有意义的是提供一个重定向uri,它是你应用程序的子域名。
考虑正确的注册流程是多租户应用程序的重要组成部分。特别是如果您想要每个租户自定义域名。
最简单的方法是只为所有租户提供一个域名,并简单地重定向到他们。
另一个 - 是拥有自己的自定义注册流程,用户在您的域中选择子域名并提供管理员同意来修复该愿望。在您收到管理员同意后(例如,您已在state
参数中编码了所需的自定义域),您可以在自定义域和租户之间进行映射。