OAuth2:授权代码授予流程

时间:2016-11-02 00:48:18

标签: single-page-application spring-security-oauth2 oauth2

我有一个前端(SPA,angular2,lite-server)和一个隐藏的后端(不暴露给公众,即localhost:8080,spring boot + spring security),前端可以通过代理frontend/api来电来访问后端引擎盖下的backend/api

基本上,这种OAuth2流程的步骤是:

  1. 在UI上 - 使用指定了redirect_uri的授权服务器命中网址
  2. 授权
  3. 使用访问代码
  4. 返回redirect_uri
  5. ???
  6. 服务器交换授权令牌的访问代码并保留它
  7. 用户(已通过身份验证)返回到他被限制访问的页面
  8. 我无法获得3到5之间的步骤。由于我的后端服务器不可见,redirect_uri应该是前端的那个。我可以使用frontend/api/auth代理对backend/api/auth的调用,后端将成功获得授权授权,但在这种情况下,用户不会被重定向回前端。那么,我应该在javascript中获取代码并从javascript中对/api/auth进行POST吗?

    此后我还没有得到如何回到第6步,因为所有重定向后SPA应用程序将重新加载(丢弃状态),redirect_uri是/api/auth的网址。

1 个答案:

答案 0 :(得分:0)

如果我的问题是正确的,那么最简单的就是"暴露"服务器通过localtunnel或ngrok。