我使用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) %>
答案 0 :(得分:1)
由于“AuthorizationCodeResourceDetails”基于auth2“authorization_code”流,因此不接受额外的参数。因此,为了解决这个问题,我通过在授权URL本身中提供参数来解决了这个问题。
例如。如果授权网址是 http://localhost:8080/idp/oauth/authorize
比我将我的额外参数添加到该URL,如下所示 http://localhost:8080/idp/oauth/authorize?startPoint=register
由于此请求将由Spring在SavedRequest变量下保存到会话中,稍后我可以查看该请求是否已启动注册或登录。