在MVC应用中,如何获取授权码?

时间:2019-06-25 18:20:42

标签: asp.net-core azure-active-directory

在.net框架中,我使用了以下方法:       if(Request.Params [“ code”]!= null)

Core 2.2的等效项是什么?

我尝试过但没有运气

         var request = HttpContext.Request;
        var query = request.Query;

1 个答案:

答案 0 :(得分:0)

似乎您是在OAuth2 / OIDC流程中手动请求授权代码。您可以从查询字符串中获取code,例如:

var code= HttpContext.Request.Query["code"].ToString();

如果您想在OAuth 2.0 authorization code flow中获取带有授权代码的访问令牌,可以参考以下代码示例:

Calling a web API in an ASP.NET Core web application using Azure AD

关键是:

  1. 设置options.ResponseType = "id_token code";
  2. OnAuthorizationCodeReceived事件中,您可以通过调用AcquireTokenByAuthorizationCodeAsync获取访问令牌以兑换授权代码。请参阅here