【问题标题】:Spring Boot Application to validate oauth2 token from Google用于验证来自 Google 的 oauth2 令牌的 Spring Boot 应用程序
【发布时间】:2019-12-19 18:32:24
【问题描述】:

我有我的 Spring Boot 应用程序,它提供了一些休息端点。那些其他端点需要安全性,我想使用 Oauth2。

我的想法是为此使用 Google oauth2 令牌。我不想在我的 Spring Boot 应用程序中提供登录功能,所以我只想检查 Bearer 令牌是否存在并从中获取用户信息以相应地显示他/她的数据。

我正在查看本教程,但我认为这不是我想要的

https://www.baeldung.com/spring-security-5-oauth2-login

【问题讨论】:

    标签: java spring-boot oauth-2.0 spring-security-oauth2


    【解决方案1】:

    我想解释一些在决定安全方法时应该考虑的场景:

    1. 如果你的应用程序用户存在于google中,意味着用户有google账号,那么你可以去google授权服务器oauth 2.0 https://developers.google.com/identity/protocols/OAuth2,这种情况下你应该在google开发者门户上注册,应用程序会收到用户成功认证后访问和刷新令牌。之后,可以向 google 进行 OpenId 调用以获取用户信息 上述流程和集成将与您在 Quora 应用程序上看到“通过 google 登录”的链接相同。 现在在服务中,您可以通过 google oauth 2.0 验证端点请求验证 Bearer 令牌,并调用 userinfo 端点来获取用户信息。 如果您使用 JWT 令牌,则无需联系谷歌授权服务器进行令牌验证和用户信息调用。

    2. 第二种方法是使用 springBoot 构建自己的 oauth 2.0 服务器 - https://spring.io/guides/tutorials/spring-boot-oauth2/ 使用 API 网关层进行令牌验证,并可以使用 Spring Security 对微服务进行进一步授权。

    【讨论】:

      【解决方案2】:

      在本教程的最后,您可以获得有关 Google 的 userInfo 端点响应的更多信息:

      https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo 你可以在那里检查:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-26
        • 2020-04-23
        • 2012-04-11
        • 2020-01-27
        • 2020-03-03
        • 1970-01-01
        • 2021-05-12
        • 2021-08-29
        相关资源
        最近更新 更多