自定义OAuth2 / oauth /授权端点

时间:2015-01-21 16:28:58

标签: spring-security-oauth2

我正在努力让我的RESTful后端幸福地忽略HTML的所有内容。我希望它只与我的HTML / CSS / JS前端和其他连接客户端说JSON。 OAuth2提供AuthorizationEndpoint服务/ oauth / authorize。在其默认行为中,用户批准页面旨在成为ModelAndView生成的HTML结果。

我希望我的HTML / CSS / JS前端处理确认页面的显示(可能还有登录),然后将用户的批准发布到/ oauth / authorize。 POSTing / oauth / authorize的结果将是包含令牌和重定向到的URL的JSON结果。然后,前端代码将处理浏览器重定向回客户端。其余的过程将照常进行。

我在想这个错吗?是否有任何我可能不会考虑的安全问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你的方向是错误的。 LoginApproval页面必须由授权服务器提供并使用HTTP标准(例如:使用Location标头重定向)。

如果你想DIY任何东西,推荐授权类型是Resource Owner Password。但它可能不适合纯客户端Web应用程序。因为它不能(或很难)保持secret key安全!

我也有类似你的应用程序,用AngularJS编写并使用implicit流程。我的应用程序完全使用RESTful与服务器通信。除了登录/授权应用程序外,它是由另一个网络应用程序(Spring MVC - 默认为Sparkl)在不同的域名完成的。