一旦管理员同意我的守护程序应用程序,他被重定向回我的网站,但我想要额外的安全,并尝试从他的电子邮件地址获取用户的租户。是否可以使用common
端点以任何方式做到这一点?
•是的,您可以从用于使用'/common '端点登录的电子邮件地址获取用户的租户名称。由于您使用的是多租户守护进程应用程序,因此应用程序无法预先知道用户来自哪个租户,因此您无法将请求发送到租户的端点。相反,请求被发送到跨所有Azure AD租户进行多路复用的端点:-
' https://login.microsoftonline.com/common '
•当Microsoft身份平台接收到/common端点上的请求时,它为用户签名,从而发现用户来自哪个租户。/common端点与Azure AD支持的所有身份验证协议一起工作:OpenID Connect、OAuth 2.0、SAML 2.0和WS-Federation。然后,对应用程序的登录响应包含一个表示用户的令牌。令牌中的发行者值告诉应用程序用户来自哪个租户。当响应从'/common '端点返回时,令牌中的颁发者值对应于用户的租户。
•"/common"端点既不是租户也不是发行者,它只是一个多路复用器。当使用'/common '时,应用程序中验证令牌的逻辑需要更新以考虑到这一点。另外,请注意,不能查询/共同的端点和检索用户的租户名称从其电子邮件地址作为凭据传递授予Azure广告声称通过认证协议,然而重定向到Azure广告平台可以通过/共同的端点只有当用户登录到这个守护进程应用程序web api和重定向完成内部通过确定租户名称来自用户的电子邮件地址。
更多信息请参考本文档。
一旦管理员同意了我的守护程序,他将被重定向到我的网站
重定向URL必须包含tenantId。一旦admin同意权限,'tenant'将作为查询参数附加到重定向URL。