我计划在AngularJS上使用Spring RESTful API后端和客户端创建应用程序.
我想通过Google OAuth2授权服务器保护我的Spring RESTful API.
我有一个架构问题:
在Google成功授权后,我会从Google OAuth2授权服务器收到accessToken.我是否需要将此accessToken传输到我的客户端应用程序(AngularJS),或者我需要在我的后端应用程序中引入一些自己的安全层(例如使用JWT)并基于Google accessToken发布自己的jwtToken并仅将此令牌传输到我的客户端应用?
换句话说 - 将Google的accessToken显示给我的客户端AngularJS应用并将其用于我自己的RESTful API中的身份验证是否安全?
另外,在我的RESTful API的情况下,我是否需要在从客户端应用程序(AngularJS)到我的安全RESTful API的每次调用之后使用Google Auth服务器验证Google accessToken?
从Google向我的客户端AngularJS应用程序显示accessToken并将其用于我自己的RESTful API中的身份验证是否安全?
它实际上不是您的访问令牌,它意味着您的客户端使用它.向他们提供令牌是完全安全的,因为他们必须在每次请求时将令牌发送到您的后端.这是因为REST的本质.
在我的RESTful API的情况下,我是否需要在从客户端应用程序(AngularJS)到我的安全RESTful API的每次调用之后使用Google Auth服务器验证Google accessToken?
是的,只要您的客户向您的后端发送令牌,您就必须致电Google.令牌可以无效的原因有多种.例如,用户可以撤消应用程序的访问权限,令牌只是过期等.
有关使用Google OAuth 2实现REST后端的更多信息