使用Google OAuth2授权服务器

时间:2016-01-06 12:05:08

标签: java angularjs rest spring-security-oauth2 oauth2

我计划在AngularJS上使用Spring RESTful API后端和客户端创建应用程序。

我想通过Google OAuth2授权服务器保护我的Spring RESTful API。

我有一个架构问题:

在Google成功授权后,我将从Google OAuth2授权服务器接收accessToken。我是否需要将此accessToken传输到我的客户端应用程序(AngularJS),或者我需要在我的后端应用程序中引入一些自己的安全层(例如使用JWT)并基于Google accessToken发布自己的jwtToken并仅将此令牌传输到我的客户端app?

换句话说 - 将Google的accessToken显示到我的客户端AngularJS应用并将其用于我自己的RESTful API中的身份验证是否安全?

另外,对于我的RESTful API,我是否需要在从客户端应用程序(AngularJS)调用我的安全RESTful API后,使用Google Auth服务器验证Google accessToken?

1 个答案:

答案 0 :(得分:6)

  

将Google的accessToken显示给我的客户端AngularJS应用并将其用于我自己的RESTful API中的身份验证是否安全?

它实际上不是您的访问令牌,它意味着您的客户使用。向他们提供令牌是完全安全的,因为他们必须在每次请求时将令牌发送到您的后端。这是因为REST的本质。

  

如果是我的RESTful API,我是否需要在从客户端应用程序(AngularJS)调用我的安全RESTful API后,使用Google Auth服务器验证Google accessToken?

是的,只要您的客户向您的后端发送令牌,您就必须致电Google。令牌可以无效的原因有多种。例如,用户可以撤消应用程序的访问权限,令牌过期等等。

More reading on implementing a REST backend with Google OAuth 2