Azure active directory Microsoft标识终结点的多个提示值

Azure active directory Microsoft标识终结点的多个提示值,azure-active-directory,Azure Active Directory,是否有办法通过Microsoft Identity platform同时包含登录和同意提示 这些文档没有明确提到对多个提示值的支持: 我尝试使用空格分隔的登录和同意值执行此PowerShell脚本。空间编码为“%20”,例如提示符=登录%20 $clientId=“MyClientId 启动过程“https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=$clientId&scope=openid%20配置

是否有办法通过Microsoft Identity platform同时包含登录和同意提示

这些文档没有明确提到对多个提示值的支持:

我尝试使用空格分隔的登录和同意值执行此PowerShell脚本。空间编码为“%20”,例如提示符=登录%20

$clientId=“MyClientId
启动过程“https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=$clientId&scope=openid%20配置文件%20https://ads.microsoft.com/ads.manage%20offline_access&response_type=code&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient&state=ClientStateGoesHere&prompt=login%20consent"
$code=Read Host“在浏览器中授予许可,然后在此处输入代码(请参见?code=UseThisCode&…)
写入输出“代码:$code”
$response=调用WebRequesthttps://login.microsoftonline.com/common/oauth2/v2.0/token -ContentType应用程序/x-www-form-urlencoded-Method POST-Body“客户端id=$clientId和scope=https://ads.microsoft.com/ads.manage%20offline_access&code=$code&grant\u type=authorization\u code&redirect\u uri=https%3A%2F%2Flogin.microsoftonline.com%2fcomon%2fauth2%2nativeclient”
$oauthTokens=($response.Content | convertfromJSON)
写入输出“访问令牌:$oauthTokens.Access\u令牌
写入输出“访问令牌在中过期:$oauthTokens.expires\u在中
写入输出“刷新令牌:$oauthTokens.Refresh\u令牌
这将导致不受支持的提示错误:

Request Id: 9e072f53-23f2-4317-9dda-240e18c15c00
Correlation Id: f7a29334-c4e3-40d4-9810-c22f6a78c4d9
Timestamp: 2020-01-31T15:57:50Z
Message: AADSTS90023: Unsupported 'prompt' value.
通过live endpoint,我可以包括以空格分隔的登录和同意提示。空格编码为“%20”,例如,提示=登录%20同意。此PowerShell脚本按预期提示登录和同意

$clientId=“MyClientId”
启动过程“https://login.live.com/oauth20_authorize.srf?client_id=$clientId&scope=bingads.manage&response\u type=code&redirect\u uri=https://login.live.com/oauth20_desktop.srf&prompt=login%20consent"
$code=Read Host“在浏览器中授予许可,然后在此处输入代码(请参见?code=UseThisCode&…)
$response=调用WebRequesthttps://login.live.com/oauth20_token.srf -ContentType应用程序/x-www-form-urlencoded-Method POST-Body“client\u id=$clientId&scope=bingads.manage&code=$code&grant\u type=authorization\u code&redirect\u uri=https%3A%2F%2F%2F login.live.com%2fauth20\u desktop.srf”
$oauthTokens=($response.Content | convertfromJSON)
写入输出“访问令牌:$oauthTokens.Access\u令牌
写入输出“访问令牌在中过期:$oauthTokens.expires\u在中
写入输出“刷新令牌:$oauthTokens.Refresh\u令牌

如错误所示,当前不支持同时设置登录和同意提示

根据设计原则,当您的资源与Azure Active Directory集成时,使用Azure AD许可框架请求访问它们的权限

这会导致在第一次使用应用程序时显示同意提示,这通常是一次操作

因此,无需在请求中添加同意提示,以便在用户每次登录后触发OAuth同意对话框


强制输入用户名和密码可能有意义,但在每次登录后强制输入同意则没有意义。

通用标识端点还支持消费者,即个人Microsoft帐户。我们的客户希望在此处获得灵活性。谢谢