Я пытаюсь добавить авторизацию в API отдыха, который я встроил в Play 2.7. Я нашел хороший пример для более старых версий игры здесь , но у меня нет доступа к контексту Http, поэтому я не могу добавить пользователя в качестве аргумента.
Есть ли другой способ сделать это в Play 2.7 без доступа к контексту?
public class Secured extends Security.Authenticator {
@Override
public String getUsername(Context ctx) {
String[] authTokenHeaderValues = ctx.request().headers().get(SecurityController.AUTH_TOKEN_HEADER);
if ((authTokenHeaderValues != null) && (authTokenHeaderValues.length == 1) && (authTokenHeaderValues[0] != null)) {
User user = models.User.findByAuthToken(authTokenHeaderValues[0]);
if (user != null) {
ctx.args.put("user", user);
return user.getEmailAddress();
}
}
return null;
}
@Override
public Result onUnauthorized(Context ctx) {
return unauthorized();
}
}
Я хочу иметь возможность получить пользователя от других контроллеров, как это было сделано в контроллере Todo.
Редактировать: Мой вопрос сводится к тому, где вы храните аутентифицированного пользователя в Play 2.7, так как Http.Context устарел?