我有ASP.NET MVC应用程序,它配置了多租户Azure AD应用程序。所以在我的Web.config
我必须放<add key="ida:Authority" value="https://login.microsoftonline.com/common/" />
所以这对所有人都有效。但现在我的一些应用程序用户被分配到不同的Azure目录(租户ID不同)。我需要提供像Azure Portal / Aure IoT Central中的“切换目录”功能。
我知道如果我用租户ID替换common
,该应用只适用于特定的租户。
在public void ConfigureAuth(IAppBuilder app)
的{{1}}我有类似下面的内容
Startup.Auth.cs
所以这给了我一个OWIN上下文,它只有默认目录ID的详细信息。任何人都可以帮我改变这种行为吗?这样我就可以提供在目录之间切换的功能。
答案 0 :(得分:0)
我做过一次(使用OWIN)的hack是在请求登录时添加一个特定的查询参数,指定了一个租户ID。
我现在无法找到源代码,但是OWIN中间件执行了以下操作:
"https://login.microsoftonline.com/tenant-id/oauth2/authorize?" + locationHeader query string
这是一种黑客攻击,但可以帮助用户登录到合适的租户。