我仍在尝试使用ASP.Net Core 2.0了解OAuth 2.0流程。 Microsoft提供的默认代码(见下文)与使用OAuth 2.0和OpenId Connect的Azure AD身份验证配合良好。
我实际上在测试授权码流程。
我正在尝试更改下面的代码,以便它不使用OpenId Connect,而是使用普通的OAuth。 (您可能想问为什么,我正在使用的供应商尚未支持OpenId Connect)。
所以我需要使用普通的OAuth来启用使用Azure AD的授权代码流。
{{1}}
如何关闭openId Connect并为授权代码流启用普通OAuth身份验证。
-Alan -
答案 0 :(得分:1)
您可以使用scope
参数值指定此值。对于OpenID Connect,scope
值设置为openid
。这是规范关于授权请求的说法。
但是您需要注意一些Azure AD细节。 Azure AD文档中突出显示了这一点。对于OpenID Connect,
当您的Web应用程序需要对用户进行身份验证时,它必须将用户定向到/ authorize端点。此请求类似于OAuth 2.0授权代码流的第一站,但有一些重要的区别:
- 请求必须在scope参数中包含范围openid。
- response_type参数必须包含id_token。
- 请求必须包含nonce参数。
此处还有OAuth 2.0 documentation的链接。您可能不会简单地删除OpenID Connect特定参数以获取OAuth 2.0响应,因为可能存在特定于实现的要求。