1

Я изучаю Spring OAuth2, разлагая набор three interconnected sample apps at this GitHub link. Приложения работают по назначению на моем devbox, но приложение authserver создает страницу нежелательного подтверждения, которая просит пользователя подтвердить, что они разрешают клиенту на localhost:8080/login получать свою защищенную информацию. Снимок экрана страницы подтверждения выглядит следующим образом:отключить страницу подтверждения весной OAuth2

Какие конкретные изменения должны быть сделаны в код authserver приложения, чтобы удалить шаг подтверждения?

Я понимаю, что страница подтверждения может быть полезна в определенных случаях использования. Но страница подтверждения не подходит для использования, которое я имею в виду, так как я могу отключить этот шаг?


ПЕРВАЯ ПОПЫТКА:


Я нахожусь кодом для просмотра страницы авторизации в authorize.ftl, which you can read by clicking on this link. Но когда я делаю Ctrl-H в рабочей области затмения и выполняю поиск «authorize.ftl», результатов не видно. Аналогичным образом, я рассмотрел Spring OAuth2 Developer Guide. Некоторые упоминания в руководстве сделаны о создании отдельного @RequestMappig("/oauth/authorize"), но не показалось ясным, как отключить этот шаг подтверждения.

Код шаблона login вид находится в login.ftl, which you can read at this link.

Является ли решение просто переместить login.ftl код в новый login.html файл, а затем управлять этим видом с @RequestMappig("/oauth/authorize")?

Если я интерпретирую работу по ссылке Руководство разработчика выше правильно, это, кажется, сказать, что

1.) @RequestMappig("/oauth/authorize") метод связан с GET будет обслуживать вид входа в систему, а затем другой @RequestMappig("/oauth/authorize"),

2.) то другой метод @RequestMappig("/oauth/authorize"), связанный с POST, будет принимать информацию из представления и обходить этап подтверждения.

Но как бы это выглядело в коде? Вот отправная точка, если я правильно понимаю:

`@RequestMappig("/oauth/authorize", method = RequestMethod.GET)` 
public @ResponseBody SomeType method1Name(){ 
    SomeType st = new SomeType(); 
    //do some stuff to st 
    return st; 
} 

`@RequestMappig("/oauth/authorize", method = RequestMethod.POST)` 
public @ResponseBody SomeType method2Name(){ 
    SomeType st = new SomeType(); 
    //do other stuff to st 
    return st; 
} 

Что я ставлю в методах? И тогда я поместил код вида?

Руководство разработчика говорит, что нужно начинать с WhiteLabelApprovalEndpoint,java, which you can read on GitHub at this link.

+0

authserver использует Spring Security OAuth2 как реализацию OAuth2? –

+0

@ksokol Это мое понимание. Почему вы спрашиваете? – CodeMed

ответ

4

Подтверждение пользователя о предоставлении маркера не является обязательным. Вам нужно зарегистрировать клиента как autoapprove = "*", если вы хотите пропустить этот шаг. Я почти уверен, что это в руководстве пользователя.

Смежные вопросы