【问题标题】:How to get google OIDC access token and refresh token?如何获取谷歌 OIDC 访问令牌和刷新令牌?
【发布时间】:2021-01-29 01:34:33
【问题描述】:

我想使用 google 作为 OIDC 协议的 id 提供者。我有一个简单的应用程序。它启动,正确重定向到谷歌,然后返回到应用程序,打印用户详细信息并将它们存储在会话中。但是,此身份验证似乎来自 id 令牌,并且只有 1 小时的到期时间

我的 yml:

spring.security.oauth2.client.registration.google:
            client-id: xxxxxxxxx
            client-secret: xxxxxxxxx

我的申请:

@SpringBootApplication
class DemoApplication

fun main(args: Array<String>) {
    runApplication<DemoApplication>(*args)
}

@RestController
class MyController {

    @GetMapping("/sample")
    fun sample(auth : Authentication) = auth.toString()
}

现在我想获取访问令牌和刷新令牌。我该怎么做?我什至没有将 id 标记作为字符串。

获取这两个令牌的 URL 是什么?

有 curl 或简单的 Web 应用程序的示例吗?

【问题讨论】:

    标签: java spring oauth-2.0 google-oauth openid-connect


    【解决方案1】:

    你得到你请求的令牌,请求offline_access范围来获取刷新令牌,并请求一个或两个代表你想要访问的资源的范围,来获取访问令牌。

    【讨论】:

      【解决方案2】:

      您在应用程序中实现了哪种类型的弹簧安全性,例如使用 JWT 或基本身份验证?两者在春季都有不同的自定义方式来实现谷歌单点登录功能..

      【讨论】:

      • 计划是让 jwt 带有公钥验证。但我坚持只是在客户端获取访问和刷新令牌
      猜你喜欢
      • 1970-01-01
      • 2013-07-20
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 2017-11-13
      • 2020-02-26
      • 2019-09-09
      相关资源
      最近更新 更多