Получение токена 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);

и ваш код теперь цивилизован.

Другие вопросы по тегам