这个 Spring Security 登录插件很棒

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之类的   

图片[1]-这个 Spring Security 登录插件很棒-唐朝资源网

// todo 也可以用 AuthenticationSuccessHandler 配置来替代 return map; }

可以根据信息返回token,也可以实现。您也可以在不编写界面的情况下配置一个。

如果您有其他第三方需要联系,您可以为胖哥提供配置,胖哥会免费帮您完成。

项目和DEMO地址是:记得给个star!

© 版权声明
THE END
喜欢就支持一下吧
点赞68 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片