1

我正在通过分解此 GitHub 链接上的三个互连示例应用程序集来研究 Spring OAuth2 。这些应用程序在我的 devbox 上按预期工作,但该authserver应用程序会生成一个不需要的确认页面,要求用户确认他们授权客户端localhost:8080/login接收其受保护的信息。确认页面截图如下:

需要对authserver应用程序的代码进行哪些特定更改才能删除确认步骤?

我了解确认页面在某些用例中可能很有用。但是确认页面不适合我想到的用例,那么我该如何禁用这一步呢?


第一次尝试:


我已经找到了授权页面的查看代码authorize.ftl,您可以通过单击此链接阅读。但是当我Ctrl-H在 Eclipse 工作区中搜索“authorize.ftl”时,没有显示任何结果。同样,我查看了Spring OAuth2 开发人员指南。指南中提到了创建一个单独的@RequestMappig("/oauth/authorize"),但似乎不清楚如何禁用此确认步骤。

模板login视图的代码位于login.ftl,您可以在此链接中阅读

解决方案是简单地将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,您可以在 GitHub 上的此链接上阅读

4

1 回答 1

4

令牌授予的用户确认是可选的。如果您想跳过该步骤,您需要将客户端注册为 autoapprove="*"。我很确定这在用户指南中。

于 2016-04-16T14:34:42.003 回答