Как войти в систему с данными пользователя Google в приложении весенней загрузки - PullRequest
0 голосов
/ 29 апреля 2020

Я использую oauth2 в приложении весенней загрузки для входа в Google. Теперь я застрял, потому что я не знаю, как получить данные пользователя. Используя объект «Аутентификация» или «Принципал», я могу получить только имя пользователя (это случайное число) с методом метода princial.getname (), и нет других соответствующих методов для получения подробностей.

1 Ответ

0 голосов
/ 29 апреля 2020

Поскольку инфраструктура OAuth2 разработана как обобщенная c, вы не найдете методов для чего-либо, кроме имени субъекта.

Вместо этого у класса OAuth2User есть метод getAttributes, который возвращает атрибуты из пользовательской информации uri указанного поставщика c в виде карты.

Вот так вы получаете пользовательский объект текущего запроса:

@GetMapping("/user/me")
public Map<String, Object> userDetails(@AuthenticationPrincipal OAuth2User user) {
    return user.getAttributes();
}

Попробуйте, и вы увидите, какие именно атрибуты поддерживает Google.

...