Spring Security OAuth2 - 向授权URL添加参数

时间:2015-06-19 14:13:35

标签: spring spring-security oauth-2.0 spring-security-oauth2

我使用Spring Security和OAuth2使用以下项目进行身份验证/授权。 http://projects.spring.io/spring-security-oauth/

我需要在OAuth2授权网址中添加参数。我不知道应该如何将它添加到AuthorizationCodeResourceDetails bean?

问题是我想通过登录或从客户端站点注册来启动用户旅程。客户端将发送OAuth请求,在授权服务器上,我将显示注册表单或登录表单,以便用户继续其旅程。

默认流程仅包含以下参数 /的OAuth /授权的client_id = []&安培; REDIRECT_URI = []&安培; RESPONSE_TYPE =令牌安培;范围= +的OpenID轮廓&安培;状态= HZSMKb

我想追加"& startPoint = register"

<%= link_to 'Back', project_path(@project) %>

1 个答案:

答案 0 :(得分:1)

由于“AuthorizationCodeResourceDetails”基于auth2“authorization_code”流,因此不接受额外的参数。因此,为了解决这个问题,我通过在授权URL本身中提供参数来解决了这个问题。

例如。如果授权网址是 http://localhost:8080/idp/oauth/authorize

比我将我的额外参数添加到该URL,如下所示 http://localhost:8080/idp/oauth/authorize?startPoint=register

由于此请求将由Spring在SavedRequest变量下保存到会话中,稍后我可以查看该请求是否已启动注册或登录。