AAD:请求范围“openid电子邮件”总是导致access_denied

问题描述:

我使用的是OpenID Connect,我需要请求用户的电子邮件。我创建了AAD应用程序并启用了所有可能的作用域/权限(仅用于测试)。AAD:请求范围“openid电子邮件”总是导致access_denied

但是,每当我要求范围“openid电子邮件”,并且用户给予同意时,我总是会得到access_denied错误。谁能阐明为什么会发生这种情况?

我的要求:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize 
?client_id=2c4a8f6b-0cde-4134-aaa5-dc6552704576 
&scope=openid%20email 
&response_type=code 
&redirect_uri=https<myuri> 
&state=<mystate> 

当用户给出的同意后,我得到的代码如下回应302:

https:<my callback uri>?code=<VALID code is here> 

但是,重定向位置是

https://<my uri>/callback?error=access_denied 
+0

由于您获得了授权码,哪个操作可以让您获得“access_denied”响应,以及error_description是什么? –

+0

@ NanYu-MSFT我已经调试过Microsoft.Owin.Security.MicrosoftAccount。当它向https://login.microsoftonline.com/common/oauth2/v2.0/token发出请求时,我不回复access_token。所以代码只会崩溃,并且会在没有描述的情况下回调泛型access_denied错误。 我得到id_token,refresh_token(如果指定offline_access),但不access_token ... – dennis

这是Microsoft.Owin.Security.MicrosoftAccount中的一个错误,详情请参阅:https://github.com/aspnet/AspNetKatana/issues/48

+0

好吧,似乎4.0预览版本将修复错误:) –