我正在创建一个OAuth 2.0客户端,该客户端可以像邮递员或SOAP UI一样为所有请求获取访问令牌。
当我们将用户重定向到Auth URL时,服务器会将授权码发送回给客户端,并立即将其重定向到重定向URI。
我想获取授权码。
示例:
让我们考虑一下Google的示例:
对于Google来说,我们有:
验证URI:https://accounts.google.com/o/oauth2/v2/auth
重定向URI:https://www.example.com/oauth2/callback
第一步是使用客户端ID重定向到Auth URI,并将URI作为参数重定向:
为此,我在MVC中使用了以下内容:
public ActionResult LoginUsingGoogle()
{
return Redirect($"https://accounts.google.com/o/oauth2/v2/auth?client_id={ClientId}&response_type=code&scope=openid%20email%20profile&redirect_uri={RedirectUrl}&state=abcdef");
}
一旦重定向成功,它就会发送授权码作为回报,可以进一步用于获取访问令牌。
我想获取此授权码,以便进一步打入以授权码为参数的POST请求,以获取访问令牌。
如何获取此中间授权码?
Postman和SOAP UI之类的工具如何使读取授权代码成为可能?
也:
重定向URI不在我的服务器上,它可以在任何地方。
我正在尝试从MVC做到这一点,这就是为什么我使用Response.Redirect