我计划在AngularJS上使用Spring RESTful API后端和客户端创建应用程序。
我想用Google OAuth2授权服务器来保护我的Spring RESTful API。
我有一个建筑问题:
在谷歌成功授权后,我将从谷歌OAuth2授权服务器收到accessToken。我是否需要将此访问令牌传输到我的客户端应用程序(AngularJS),或者我需要在我的后端应用程序中引入一些自己的安全层(例如使用JWT),并基于Google accessToken来发行自己的jwtToken并仅将此令牌传输到我的客户端应用程序?
换句话说,从谷歌向我的客户端AngularJShtml" target="_blank">应用程序显示accessToken并在我自己的RESTful API中使用它进行身份验证是否安全?
此外,在我的RESTful API的情况下,每次从我的客户端应用程序(AngularJS)调用我的安全RESTful API后,我是否需要使用Google Auth服务器验证Google访问令牌?
向我的客户端AngularJS应用程序显示来自Google的accessToken并在我自己的RESTful API中使用它进行身份验证安全吗?
实际上,这不是您的访问令牌,它应该由您的客户使用。给他们令牌是完全安全的,因为他们必须在每次请求时将令牌发送到您的后端。这是因为REST的性质。
对于我的RESTful API,我是否需要在每次客户端应用程序(AngularJS)调用我的安全RESTful API后,使用Google Auth server验证Google accessToken?
是的,每当您的客户向您的后端发送令牌时,您都必须致电谷歌。令牌可以失效的原因有几个。例如,用户可以从您的应用程序中撤销访问,令牌只是过期等。
更多关于使用Google OAuth 2实现REST后端的阅读