OAuth 2.0,Azure AD和OpenId Connect

时间:2018-04-03 01:27:59

标签: asp.net-core oauth oauth-2.0 asp.net-core-2.0 openid-connect

我仍在尝试使用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 -

1 个答案:

答案 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响应,因为可能存在特定于实现的要求。