#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 для получения токена обновления и запрашиваете область или две, которые представляют ресурс, к которому вы хотите получить доступ, чтобы получить токен доступа.