play-authenticate - получение информации о пользователях в представлениях scala или контроллере для вошедшего в систему пользователя

Я использую Google через play-authenticate для аутентификации в моем java-приложении. Это мое первое игровое приложение.

Мне нужны данные вошедшего в систему пользователя на странице или контроллере scala HTML. У @currentAuth нет имени пользователя, которое есть в GoogleAuthUser и доступно во время аутентификации. Поскольку запрос аутентификации напрямую обрабатывается в play-authenticate, я не получаю эту информацию, чтобы установить его в сеансе.

Каков наилучший способ сделать пользовательские данные доступными для представлений scala или контроллера для приложений с аутентификацией воспроизведения? Примеры использования @currentAuth, который имеет только имя и идентификатор провайдера, но не пользовательские данные.

1 ответ

Решение

Нашел решение в примере приложения. Контроллер может иметь статический метод, который использует информацию о сеансе для извлечения информации о пользователе из сеанса с использованием PlayAuthenticate.getUser(финальный сеанс сеанса)

public static User getLocalUser(final Session session) {
  final User localUser = User.findByAuthUserIdentity(PlayAuthenticate.getUser(session));
  return localUser;
}
Другие вопросы по тегам