httpSecurity.apply(new OAuth2ProviderConfigurer(delegateClientRegistrationRepository))
// 微信网页授权 下面的参数是假的
.wechatWebclient("wxdf90xxx8e7f", "bf1306baaaxxxxx15eb02d68df5")
// 企业微信登录 下面的参数是假的
.workWechatWebLoginclient("wwa70dc5b6e56936e1",
"nvzGI4Alp3xxxxxxZUc3TtPtKbnfTEets5W8", "1000005")
// 微信扫码登录 下面的参数是假的
.wechatWebLoginclient("xxxxxxxx", "xxxxxxxx")
.oAuth2LoginConfigurerConsumer(oauth2Configurer->
oauth2Configurer.successHandler(new ForwardAuthenticationSuccessHandler("/"))
);
只需配置帐户即可。不简单,扩展性还是有保证的,完全可以满足你的个性化需求。如果想让数据库管理这些参数,可以自己扩展,不难。
登录后的效果如下:
对自定义页面稍作改动,是不是更高了?
登录成功后的逻辑,可以写一个/接口:
@GetMapping("/")
public Map index(@RegisteredOAuth2AuthorizedClient
OAuth2AuthorizedClient oAuth2AuthorizedClient) {
Authentication authentication = SecurityContextHolder.getContext()
.getAuthentication();
Map map = new HashMap(2);
// OAuth2AuthorizedClient 为敏感信息不应该返回前端
map.put("oAuth2AuthorizedClient", oAuth2AuthorizedClient);
map.put("authentication", authentication);
// todo 处理登录注册的逻辑 处理权限问题
// todo 根据 authentication 生成 token cookie之类的
// todo 也可以用 AuthenticationSuccessHandler 配置来替代
return map;
}
可以根据信息返回token,也可以实现。您也可以在不编写界面的情况下配置一个。
如果您有其他第三方需要联系,您可以为胖哥提供配置,胖哥会免费帮您完成。
项目和DEMO地址是:记得给个star!
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容