Я изучаю 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.
authserver использует Spring Security OAuth2 как реализацию OAuth2? –
@ksokol Это мое понимание. Почему вы спрашиваете? – CodeMed