java - 使用 Google OAuth2 授权服务器保护 Spring RESTful API

标签 java angularjs rest spring-security-oauth2 oauth-2.0

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

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

我有一个架构问题:

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

换句话说,从 Google 向我的客户端 AngularJS 应用程序显示 accessToken 并在我自己的 RESTful API 中使用它进行身份验证是否安全?

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

最佳答案

is it safe to show accessToken from Google to my client AngularJS app and use it for an authentication in my own RESTful API?

这实际上不是您的访问 token ,而是供您的客户使用的。给他们 token 是绝对安全的,因为他们必须在每次请求时将 token 发送到您的后端。这是因为 REST 的性质。

in case of my RESTful API do I need to validate Google accessToken with Google Auth server after each call from my client application(AngularJS) to my secure RESTful API ?

是的,只要您的客户向您的后端发送 token ,您就必须调用 Google。 token 失效的原因有多种。例如,用户可以从您的应用程序中撤销访问权限, token 已过期等。

More reading on implementing a REST backend with Google OAuth 2

关于java - 使用 Google OAuth2 授权服务器保护 Spring RESTful API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34632744/

相关文章:

javascript - Angular 未知提供商且无法发布/注册

javascript - 将 HTML 页面添加到 div

php - 无法使用 FOSRestBundle

java - 如何使用 java tomcat 创建 Restful 服务

java - 如何将密码添加到 Java 中的现有私钥

java - java中鼠标单击操作事件执行方式错误

java - 什么是NullPointerException,我该如何解决?

javascript - 我可以在表格中包含表格吗?我正在研究 AngularJS

rest - 从现有的 CXF 休息服务生成 wadl

java - 使用 java 解析 xml 文件——基于 android 的应用程序