我使用Spring Security与OAuth2进行身份验证/授权,使用以下项目。 http://projects.spring.io/spring-security-oauth/Spring Security OAuth2 - 将参数添加到授权URL
我有要求将参数添加到OAuth2授权网址。我不知道我应该如何将它添加到AuthorizationCodeResourceDetails bean?
问题是我想通过登录或从客户端网站注册来启动用户旅程。客户端将发送OAuth请求,并在授权服务器上显示注册表单或登录表单,以供用户继续其旅程。
默认流只以下参数 /OAuth的/授权?CLIENT_ID = [] & REDIRECT_URI = [] & RESPONSE_TYPE =记号&范围=的OpenID +轮廓&状态= HZSMKb
欲追加“&的startPoint =寄存器”
public OAuth2ProtectedResourceDetails googleOAuth2Details() {
AuthorizationCodeResourceDetails googleOAuth2Details = new AuthorizationCodeResourceDetails();
googleOAuth2Details.setAuthenticationScheme(header);
googleOAuth2Details.setClientAuthenticationScheme(header);
googleOAuth2Details.setClientId(clientId);
googleOAuth2Details.setClientSecret(clientSecret);
googleOAuth2Details.setUserAuthorizationUri(authorizationUrl);
googleOAuth2Details.setAccessTokenUri(accessTokenUrl);
googleOAuth2Details.setScope(asList("openid","profile"));
return googleOAuth2Details;
}
@SuppressWarnings("SpringJavaAutowiringInspection") // Provided by Spring Boot
@Resource
private OAuth2ClientContext oAuth2ClientContext;
@Bean
@Scope(value = "session", proxyMode = ScopedProxyMode.INTERFACES)
public OAuth2RestOperations authCodeRestTemplate() {
return new OAuth2RestTemplate(googleOAuth2Details(), oAuth2ClientContext);
}
您尝试对哪个OAuth提供程序进行身份验证?并且请张贴一些相关的代码或者人们会简单地冷静下来。 –
我使用spring-security-oauth2作为提供者。 – itontips
不,你想我的观点,你想让你的用户登录Google,对吗? –