Я пытаюсь настроить сервер авторизации OAuth2 с помощью интеграции OAuth2 Spring и Spring Security.Spring Boot OAuth2 Authorization Server, Bad Credentials Response
Когда я пытаюсь пройти аутентификацию, я получаю код статуса HTTP 400
ответ: «Плохие учетные данные».
Здесь вы можете найти свой сервер авторизации и настройки веб-безопасности: https://gist.github.com/codecitizen/8d130469d83439f5fca86b1a84733aab
У меня есть собственная реализация для UserDetailsService
и ClientDetailsService
. Но они, похоже, правильно настроены. Когда я запускаю следующий тестовый пример:
given().
formParam("grant_type", "password").
formParam("username", user.getUsername()).
formParam("password", password).
auth().basic(client.getClientId(), client.getClientSecret()).
when().
post("/oauth/token").
then().extract().asString();
используя RestAssurred, называются обе службы.
Событие незнакомца: Когда я устанавливаю точку разрыва в IntelliJ на этом выражении и оцениваю его, он возвращает правильный токен JWT, и аутентификация, похоже, работает. Когда я снова повторю метод теста и точно так же, я получаю: {"error":"invalid_grant","error_description":"Bad credentials"}
этот ответ! Не меняя ничего в коде!
Я действительно не могу понять, в чем проблема. Кто-нибудь, у кого есть опыт Spring Security + OAuth2, кто может помочь?
Эй, типы грантов верны. Я проверил. Я переустановил всю конфигурацию, используя http://stytex.de/blog/2016/02/01/spring-cloud-security-with-oauth2/, а затем применил мою ClientDetailsService и UserDetailsService. Проблема была как-то связана с компонентом DefaultTokenServices и JwtTokenStore. Я буду смотреть, что было точной причиной завтра. – SakeSushiBig