Как получить токен доступа Google OIDC и токен обновления?

#java #spring #oauth-2.0 #google-oauth #openid-connect

#java #весна #oauth-2.0 #google-oauth #OpenID-connect

Вопрос:

Я хочу использовать Google в качестве поставщика идентификаторов для протокола OIDC. У меня есть простое приложение. он запускается, корректно перенаправляется в 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 или простым веб-приложением?

Ответ №1:

какой тип безопасности Spring вы реализуете в своем приложении, например, с помощью JWT или basic auth? оба имеют разные пользовательские способы в spring для реализации функции единого входа в Google..

Комментарии:

1. план состоит в том, чтобы иметь jwt с проверкой открытого ключа. но я застрял на простом получении токена доступа и обновления на стороне клиента

Ответ №2:

вы получаете запрашиваемые токены, запрашиваете область offline_access для получения токена обновления и запрашиваете область или две, которые представляют ресурс, к которому вы хотите получить доступ, чтобы получить токен доступа.