OAuthAuthzResponse oar = OAuthAuthzResponse.oauthCodeAuthzResponse(request);String pre = oar.getCode();
我认为上面的代码应该写在重定向URI端点的实现中,而不是在客户端代码中。
正确理解授权码流将有所帮助。一个 授权码
从授权服务器的授权端点发行,它被传递到由重定向URI指向的位置。也就是说,授权代码不会直接传递给客户端应用程序。
当授权服务器发出授权代码时,它将如下所示的HTTP响应发送回客户端的Web浏览器。
HTTP/1.1 302 FoundLocation: {Redirect URI} ?pre={Authorization Code} // - Always included &state={Arbitrary String} // - Included if the authorization // request included 'state'.302Found触发Web浏览器转到
Location标题所指向的位置。因此,您必须实现接收授权代码的位置,并且实现必须以某种方式将授权代码传递给客户端应用程序。
还要注意,在(a)授权请求(=对授权端点的请求)和(b)令牌请求(=对令牌端点的请求)之间显示授权页面(HTML),并且该页面需要最终用户相互作用。有关详细信息,请参见“
所有OAuth 2.0流程的图表和影片 ”中的“ 1.授权代码流程” 。



