Получение токена Oauth в конечных точках ядра приложения
Я ищу способ получения токена OAuth2 из конечной точки Java-ядра движка приложения.
Я знаю, что делать это, например:
@ApiMethod(name = "getMyResponse", path = "getMyResponse", httpMethod = ApiMethod.HttpMethod.GET)
public MyResponse getMyResponse(final User user, HttpServletRequest request)
throws UserUnauthorizedException {
String authorizationHeader = request.getHeader("Authorization");
String token = authorizationHeader.substring(7);
//do something with the token here
}
Тем не менее, я ищу что-то более "цивилизованное", чем разбор строк из заголовка HTTP (как, например, использование некоторого API). Есть идеи?
1 ответ
Решение
Если все, что вам нужно сделать, это получить маркер, но это кажется нецивилизованным, то я бы предложил написать его самостоятельно. Любой API, который вы могли бы использовать, только увеличит вес вашей кодовой базы. Я бы просто написал вспомогательную функцию, например:
private static String getToken (HttpServletRequest req){
String authorizationHeader = req.getHeader("Authorization");
String token = authorizationHeader.substring(7);
return token;
}
а потом в вашем коде просто ссылка
String token = getToken(request);
и ваш код теперь цивилизован.