如何正确请求OAuth2.0中的授权代码?

时间:2017-04-19 10:26:10

标签: spring callback oauth-2.0 authorization

我有一个在端口5000上运行的玻璃鱼服务器。它仅托管.js.html/css个文件。我还有一个在端口8080上运行的spring服务器。

如果我输入 http://localhost:5000/app/index.html在我的浏览器中,我收到了我的主页,但其他请求是通过端口8080进行的。与http://localhost:8080/getTodaysWheather一样。

这不是我的网络应用,但我应该使用/测试它。我添加了Oauth2(授权代码授予类型)支持。所以我的问题是: 我必须使用哪个端口+链接作为我的回调网址?

我尝试了什么:我设置了一个像http://localhost:5000/app/index.html这样的回调网址,因此在用户授权我的应用后,他已重定向到http://localhost:5000/app/index.html?code=1234,现在我再次使用端口{向我的服务器发出请求{1}}并向其提供收到的新代码,以便它可以进一步使用它来获取访问令牌。

这样你也会这样做吗?

1 个答案:

答案 0 :(得分:1)

如果Spring应用程序是OAuth2访问令牌的用户,则重定向URL应指向它(端口8080)。我还会在Spring应用程序中保留身份验证URL。所以工作流程将是:

  1. 前端(JavaScript应用)将浏览器导航到后端网址以进行身份​​验证,例如http://localhost:8080/redirectToOAuth2(完整浏览器请求,而不是XHR)将通过重定向到您的OAuth2服务器进行响应。
  2. 经过身份验证后,OAuth2服务器会将浏览器重定向到后端的redirect URL以及授权码,例如http://localhost:8080/authenticated?code=1234
  3. 后端读取代码,获取访问权限并刷新令牌,并通过重定向到前端应用程序http://localhost:5000/app/index.html进行响应。