我使用Microsoft Azure AD和OAuth2使用授权代码获取访问令牌:
https://login.microsoftonline.com/common/oauth2/authorize?client_id=xxx&response_type=code&redirect_uri=yyyy&response_mode=query&scope=zzzz&state=1111
从登录页面返回并获取代码
获取访问令牌(POST)
https://login.microsoftonline.com/common/oauth2/token?client_id=xxxx&redirect_uri=yyyy&code=zzzz&grant_type=authorization_code&client_secret=1111
一切正常,但在第1步和第2步之间,最终用户必须选择使用哪个帐户(请参阅最后的登录屏幕图片)。
此时用户始终已登录login.microsoftonline.com ,管理员已授予整个组织同意使用该应用程序。
问题:
有没有办法跳过这个,例如使用可选参数指示自动使用@ company.com后缀的帐号?是common
租户还是特定租户?
目标:
我有一个组策略在启动时打开一些网页,我希望用户自动登录到这个网站。即使只点击一下就会破坏这如果重要的话,我正在使用PHP。
答案 0 :(得分:3)
您可以使用domain_hint
参数(domain_hint=company.com
):
https://login.microsoftonline.com/common/oauth2/authorize?domain_hint=company.com&client_id=xxx&response_type=code&redirect_uri=yyyy&response_mode=query&scope=zzzz&state=1111
更多信息:
http://www.cloudidentity.com/blog/2014/11/17/skipping-the-home-realm-discovery-page-in-azure-ad/
这适用于v1和v2端点,与文档说的不同。