如何获取Google OIDC访问令牌和刷新令牌?

时间:2020-10-14 15:34:52

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

我想将google用作OIDC协议的ID提供程序。我有一个简单的应用程序。它启动,正确重定向到google,然后返回到应用程序,打印用户详细信息并将其存储在会话中。但是,此身份验证似乎来自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应用程序的示例?

2 个答案:

答案 0 :(得分:0)

您正在像JWT或基本身份验证那样在应用程序中实现哪种类型的Spring Security?两者在春季都有不同的自定义方式来实现Google单一登录功能。

答案 1 :(得分:0)

您获得了所需的令牌,要求offline_access范围获得刷新令牌,并要求一个或两个代表您要访问的资源的范围,以获取访问令牌。