9

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

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

我有一个建筑问题:

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

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

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

4

1 回答 1

6

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

它实际上不是您的访问令牌,它是供您的客户使用的。给他们令牌是非常安全的,因为他们必须在每个请求中将令牌发送到您的后端。这是因为 REST 的性质。

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

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

有关使用 Google OAuth 2 实现 REST 后端的更多信息

于 2017-02-22T11:17:16.360 回答