Spring boot 使用Broadleaf进行Spring社交登录
我期待着提供Facebook和Gmail登录到Broadleaf应用程序,我指的是下面提到的链接 然而,这个链接已经很老了,有人能帮我发送一个链接或指针,用Broadleaf 5.2版进行Spring社交登录吗Spring boot 使用Broadleaf进行Spring社交登录,spring-boot,broadleaf-commerce,spring-social-facebook,spring-social-google,Spring Boot,Broadleaf Commerce,Spring Social Facebook,Spring Social Google,我期待着提供Facebook和Gmail登录到Broadleaf应用程序,我指的是下面提到的链接 然而,这个链接已经很老了,有人能帮我发送一个链接或指针,用Broadleaf 5.2版进行Spring社交登录吗 提前感谢我还没有真正实现这一点,但我想我可以提供一些指导。以下步骤摘自博客文章。一般来说,这篇博文仍然是正确的,但是自从那篇博文撰写以来,声明bean已经从XML转移到Java 1) 将Spring社交依赖项添加到根POM 关注博客帖子 您可能需要更新到最新版本的Spring Soci
提前感谢我还没有真正实现这一点,但我想我可以提供一些指导。以下步骤摘自博客文章。一般来说,这篇博文仍然是正确的,但是自从那篇博文撰写以来,声明bean已经从XML转移到Java 1) 将Spring社交依赖项添加到根POM 关注博客帖子 您可能需要更新到最新版本的Spring Social(自2020年1月起为1.1.6)。有关更新的依赖项,请参阅。具体来说,您需要从博客文章中添加一个额外的依赖项:
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-core</artifactId>
<version>1.1.6.RELEASE</version>
</dependency>
applicationContext-security.xml的条目将放在SiteSecurityConfig中,但它需要更新以符合Spring security Java配置的新标准。博客帖子
中的配置片段只要求通过https提供/sign下的URL。自2012年写博客文章以来,通过https为整个网站提供服务已成为标准,因此,如果您的网站已经在这样做,则此步骤可能没有必要。查看我们的参考Heat Clinic应用程序,其SiteSecurityConfig.java已经配置为通过https服务所有URL
如果确实需要添加条目,请在SiteSecurityConfig.java中找到方法configure(HttpSecurity http)
,并将其添加到配置中:
@Value("${facebook.clientId}")
private String facebookClientId;
@Value("${facebook.clientSecret}")
private String facebookClientSecret;
@Value("${twitter.consumerKey}")
private String twitterConsumerKey;
@Value("${twitter.consumerSecret}")
private String twitterConsumerSecret;
@Bean
public ConnectionFactoryRegistry connectionFactoryLocator() {
FacebookConnectionFactory facebookConnectionFactory = new FacebookConnectionFactory(facebookClientId, facebookClientSecret);
TwitterConnectionFactory twitterConnectionFactory = new TwitterConnectionFactory(twitterConsumerKey, twitterConsumerSecret);
ConnectionFactoryRegistry connectionFactoryRegistry = new ConnectionFactoryRegistry();
connectionFactoryRegistry.setConnectionFactories(Arrays.asList(facebookConnectionFactory, twitterConnectionFactory));
return connectionFactoryRegistry;
}
.requiresChannel()
.antMatchers("/signin/**")
.requiresSecure()
您还可以将字符串/signin/**
添加到现有的requireChannel
antMatcher(如果存在)
3) 修改您的Broadleaf运行时属性
和博客文章一样
4) 将新的applicationContext-social.xml添加到web.xml
使用组件扫描时,此步骤不是必需的。我怀疑您使用的web.xml文件是Broadleaf 5.2
5) 将您的RegisterController更改为扩展BroadLeaf Social RegisterController
和博客文章一样。您可以在org.broadleafcommerce.core.web.controller.account.BroadleafSocialRegisterController
6) 最后,将登录按钮添加到登录页面
和博客文章一样。适应网站的HTML
我希望这有帮助。请随时提出任何后续问题。我还没有真正实现这一点,但我想我可以提供一些建议。以下步骤摘自博客文章。一般来说,这篇博文仍然是正确的,但是自从那篇博文撰写以来,声明bean已经从XML转移到Java 1) 将Spring社交依赖项添加到根POM 关注博客帖子 您可能需要更新到最新版本的Spring Social(自2020年1月起为1.1.6)。有关更新的依赖项,请参阅。具体来说,您需要从博客文章中添加一个额外的依赖项:
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-core</artifactId>
<version>1.1.6.RELEASE</version>
</dependency>
applicationContext-security.xml的条目将放在SiteSecurityConfig中,但它需要更新以符合Spring security Java配置的新标准。博客帖子
中的配置片段只要求通过https提供/sign下的URL。自2012年写博客文章以来,通过https为整个网站提供服务已成为标准,因此,如果您的网站已经在这样做,则此步骤可能没有必要。查看我们的参考Heat Clinic应用程序,其SiteSecurityConfig.java已经配置为通过https服务所有URL
如果确实需要添加条目,请在SiteSecurityConfig.java中找到方法configure(HttpSecurity http)
,并将其添加到配置中:
@Value("${facebook.clientId}")
private String facebookClientId;
@Value("${facebook.clientSecret}")
private String facebookClientSecret;
@Value("${twitter.consumerKey}")
private String twitterConsumerKey;
@Value("${twitter.consumerSecret}")
private String twitterConsumerSecret;
@Bean
public ConnectionFactoryRegistry connectionFactoryLocator() {
FacebookConnectionFactory facebookConnectionFactory = new FacebookConnectionFactory(facebookClientId, facebookClientSecret);
TwitterConnectionFactory twitterConnectionFactory = new TwitterConnectionFactory(twitterConsumerKey, twitterConsumerSecret);
ConnectionFactoryRegistry connectionFactoryRegistry = new ConnectionFactoryRegistry();
connectionFactoryRegistry.setConnectionFactories(Arrays.asList(facebookConnectionFactory, twitterConnectionFactory));
return connectionFactoryRegistry;
}
.requiresChannel()
.antMatchers("/signin/**")
.requiresSecure()
您还可以将字符串/signin/**
添加到现有的requireChannel
antMatcher(如果存在)
3) 修改您的Broadleaf运行时属性
和博客文章一样
4) 将新的applicationContext-social.xml添加到web.xml
使用组件扫描时,此步骤不是必需的。我怀疑您使用的web.xml文件是Broadleaf 5.2
5) 将您的RegisterController更改为扩展BroadLeaf Social RegisterController
和博客文章一样。您可以在org.broadleafcommerce.core.web.controller.account.BroadleafSocialRegisterController
6) 最后,将登录按钮添加到登录页面
和博客文章一样。适应网站的HTML
我希望这有帮助。请随时提出任何后续问题