在 Spring OAuth2 中禁用确认页面
disable confirmation page in Spring OAuth2
我正在通过分解 three interconnected sample apps at this GitHub link 的集合来研究 Spring OAuth2。这些应用程序在我的 devbox 上按预期工作,但 authserver
应用程序生成了一个不需要的确认页面,要求用户确认他们授权 localhost:8080/login
的客户端接收他们的受保护信息。确认页面截图如下:
需要对 authserver
应用的代码进行哪些具体更改才能删除确认步骤?
我知道确认页面在某些用例中可能会有用。但是确认页面不适合我想到的用例,那么如何禁用此步骤?
第一次尝试:
我在authorize.ftl
, which you can read by clicking on this link. But when I do Ctrl-H
in an eclipse workspace and search for "authorize.ftl", no results show up. Similarly, I reviewed the Spring OAuth2 Developer Guide中找到了授权页面的查看代码。指南中提到了创建一个单独的 @RequestMappig("/oauth/authorize")
,但似乎不清楚如何禁用此确认步骤。
模板 login
视图的代码在 login.ftl
, which you can read at this link。
解决方案是简单地将 login.ftl
代码移动到新的 login.html
文件中,然后使用 @RequestMappig("/oauth/authorize")
管理该视图吗?
如果我正确地解释了上面开发者指南 link 中的工作,它似乎是说
1.) @RequestMappig("/oauth/authorize")
方法 link 到 GET 将提供登录视图,然后是另一个 @RequestMappig("/oauth/authorize")
,
2.) 然后另一个 @RequestMappig("/oauth/authorize")
方法 link 编辑到 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 开始。
令牌授予的用户确认是可选的。如果您想跳过该步骤,则需要将客户端注册为 autoapprove="*"。我很确定这在用户指南中。
我正在通过分解 three interconnected sample apps at this GitHub link 的集合来研究 Spring OAuth2。这些应用程序在我的 devbox 上按预期工作,但 authserver
应用程序生成了一个不需要的确认页面,要求用户确认他们授权 localhost:8080/login
的客户端接收他们的受保护信息。确认页面截图如下:
需要对 authserver
应用的代码进行哪些具体更改才能删除确认步骤?
我知道确认页面在某些用例中可能会有用。但是确认页面不适合我想到的用例,那么如何禁用此步骤?
第一次尝试:
我在authorize.ftl
, which you can read by clicking on this link. But when I do Ctrl-H
in an eclipse workspace and search for "authorize.ftl", no results show up. Similarly, I reviewed the Spring OAuth2 Developer Guide中找到了授权页面的查看代码。指南中提到了创建一个单独的 @RequestMappig("/oauth/authorize")
,但似乎不清楚如何禁用此确认步骤。
模板 login
视图的代码在 login.ftl
, which you can read at this link。
解决方案是简单地将 login.ftl
代码移动到新的 login.html
文件中,然后使用 @RequestMappig("/oauth/authorize")
管理该视图吗?
如果我正确地解释了上面开发者指南 link 中的工作,它似乎是说
1.) @RequestMappig("/oauth/authorize")
方法 link 到 GET 将提供登录视图,然后是另一个 @RequestMappig("/oauth/authorize")
,
2.) 然后另一个 @RequestMappig("/oauth/authorize")
方法 link 编辑到 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 开始。
令牌授予的用户确认是可选的。如果您想跳过该步骤,则需要将客户端注册为 autoapprove="*"。我很确定这在用户指南中。