Spring OAuth2 URL-адрес перенаправления неявного потока

В моем приложении Spring Boot/OAuth2 я пытаюсь войти в систему через свой собственный сервер OAuth2 с неявным потоком со следующим URL:

http://example.com/api/oauth/authorize?response_type=token&client_id=example_client_id&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flogin

после входа он перенаправляет пользователя на следующий URL:

http://localhost:8080/login#access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyOTcsInVzZXJfbmFtZSI6ImFkbWluIiwic2NvcGUiOlsicmVh&token_type=bearer&expires_in=43199&scope=read%20write&user_id=297&jti=9d416117-0d08-4f4e-874d-3f31dbe7815f

Это правильное поведение, что пользователь был перенаправлен на URL с # символ вместо ?.. Я имею в виду:

http://localhost:8080/login?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyOTcsInVzZXJfbmFtZSI6ImFkbWluIiwic2NvcGUiOlsicmVh&token_type=bearer&expires_in=43199&scope=read%20write&user_id=297&jti=9d416117-0d08-4f4e-874d-3f31dbe7815f

если нет - как настроить сервер OAuth2 приложения Spring для перенаправления пользователя на правильный URL-адрес?

1 ответ

Решение

Поведение правильное. Поток кода авторизации требует, чтобы параметры ответа были встроены в часть запроса URI перенаправления (RFC 6749, 4.1.2. Ответ авторизации), в то время как неявный поток требует, чтобы параметры ответа были встроены в часть фрагмента (RFC 6749, 4.2.2). Доступ к токену).

Методы кодирования множественных ответов OAuth 2.0 определили новый параметр запроса, response_mode, Параметр указывает, куда должны быть встроены параметры ответа. В спецификации query, fragment а также none определены. Кроме того, добавлен режим ответа OAuth 2.0 Form Post Response. form_post в качестве значения response_mode, Если response_mode=form_post включен в запрос авторизации, параметры ответа встроены в параметры HTML-формы.

Вы можете найти таблицу, описывающую отношения между response_type / response_mode комбинации и положение HTTP / параметры ответа в разделе " 2. Формат ответа " в "Полном руководстве автора".

введите описание изображения здесь

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