如何为 Azure AD 身份验证 v2.0 配置权限

How to configure permissions for the Azure AD authentication v2.0

我已经设置了一个新的网络应用程序,以便能够使用 Oauth2 V2 授权端点。我在 https://apps.dev.microsoft.com/

中定义了应用程序

如果我想获取新的授权令牌,请按照

中的说明进行操作

https://blogs.msdn.microsoft.com/richard_dizeregas_blog/2015/09/04/working-with-the-converged-azure-ad-v2-app-model/

我在登录页面上收到以下错误:

抱歉,我们无法让您登录。 我们收到了错误的请求。

其他技术信息: 关联 ID:eb9c2331-32bd-45a9-90d1-e9105f0bfa87 时间戳:2016-05-22 18:10:48Z AADSTS70011:为输入参数 'scope' 提供的值无效。范围 https://graph.microsoft.com/Calendar.Read 无效。

范围取自以下示例: https://github.com/Azure/azure-content/blob/master/articles/active-directory/active-directory-v2-scopes.md

所以我想这是一个有效的范围。

在 OAuth2 协议的 v1 中,有必要在我的租户的 Azure AD 中配置对 API 的访问,然后再使用它们。所以我尝试为新应用程序这样做。

尝试这样做,Azure应用管理报错:

{ "message":"This request has a value that is not valid.", "ErrorMessage":"This request has a value that is not valid.", "httpStatusCode":"InternalServerError","operationTrackingId":null,"stackTrace":null,"Padding":null }

缺少什么才能使用新的授权端点?

如果声明 calendar.read,文档包含错字。必须是 calendars.read:

私有静态字符串[]范围={ "https://graph.microsoft.com/calendars.readwrite"};

Uri authUri = await authContext.GetAuthorizationRequestUrlAsync(scopes, additionalScopes, clientId, redirectUri, UserIdentifier.AnyUser, null);