JustAuth:一键集成第三方登录,让登录变得简单

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法

JustAuth 是一个 小而全而美 的第三方登录开源组件,目前已支持 Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、企业微信、酷家乐、Gitlab、美团、饿了么、推特、飞书、京东、阿里云、喜马拉雅、Amazon、Slack 和 Line 等第三方平台的授权登录。正如它的口号所说:“Login, so easy!”

功能特点

  • : 支持国内外多家第三方平台登录

  • : 集成简单,提供丰富的 Demo 示例

  • : 代码结构清晰,易于拓展

应用场景

JustAuth因其轻量级和易用性,被广泛应用于各种需要第三方登录的场景中。无论是个人博客、企业网站还是移动应用,JustAuth都能提供稳定可靠的登录服务。

快速集成第三方登录

对于开发者来说,集成第三方登录一直是一个头疼的问题。JustAuth 提供了一套统一的接口,让开发者可以快速集成各种第三方登录。

多平台账号统一管理

JustAuth 支持多家第三方平台,可以帮助用户实现多平台账号的统一管理。

个人博客

对于个人博客来说,集成JustAuth可以让用户通过他们常用的社交媒体账号快速登录,提高了用户体验。

企业网站

企业网站通过JustAuth集成第三方登录,可以简化用户注册和登录流程,降低用户流失率。

移动应用

在移动应用中,JustAuth可以为用户提供更多的登录选择,使用户可以快速登录并开始使用应用。

社交登录

为网站或应用提供社交登录功能,提高用户体验。

单点登录(SSO)

实现多个系统之间的单点登录,简化用户登录过程。

使用方法

  1. 引入依赖

    <dependency>
        <groupId>me.zhyd.oauth</groupId>
        <artifactId>JustAuth</artifactId>
        <version>最新版本</version>
    </dependency>
    
  2. 配置第三方平台参数

    以 GitHub 为例,您需要配置以下参数:

    github.client.id=你的client_id
    github.client.secret=你的client_secret
    github.redirect.uri=你的回调地址
    
  3. 编写代码

    @Autowired
    private OAuthService oauthService;
    
    public void login(String type) {
        OAuthRequest request = new OAuthRequest(type);
        // 设置其他参数,如 state 等
        request.setState("state");
        // 获取授权链接
        String authorizeUrl = oauthService.getAuthorizeUrl(request);
        // 重定向到授权链接
        response.sendRedirect(authorizeUrl);
    }
    
  4. 处理回调

    @GetMapping("/callback")
    public void callback(String code, String state) {
        OAuthRequest request = new OAuthRequest("github");
        request.setCode(code);
        request.setState(state);
        // 获取 Access Token
        OAuthResponse response = oauthService.getAccessToken(request);
        // 根据 Access Token 获取用户信息
        UserInfo userInfo = oauthService.getUserInfo(response);
        // 业务处理
    }
    

示例

以下是一个使用 JustAuth 集成 GitHub 登录的完整示例:

@RestController
public class OAuthController {

    @Autowired
    private OAuthService oauthService;

    @GetMapping("/login")
    public void login() {
        OAuthRequest request = new OAuthRequest("github");
        // 设置回调地址
        request.setRedirectUri("http://yourdomain.com/callback");
        // 设置 state
        request.setState("state");
        // 获取授权链接
        String authorizeUrl = oauthService.getAuthorizeUrl(request);
        // 重定向到授权链接
        response.sendRedirect(authorizeUrl);
    }

    @GetMapping("/callback")
    public void callback(String code, String state) {
        OAuthRequest request = new OAuthRequest("github");
        request.setCode(code);
        request.setState(state);
        // 获取 Access Token
        OAuthResponse response = oauthService.getAccessToken(request);
        // 根据 Access Token 获取用户信息
        UserInfo userInfo = oauthService.getUserInfo(response);
        // 业务处理
    }
}

接口截图

同类项目对比

  • SocialAuth: SocialAuth 是一个支持多种社交网络认证的 Java 库。与 JustAuth 相比,它的集成较为复杂,但支持的社交平台更多。

  • Spring Social: Spring Social 是 Spring 提供的一个社交网络集成框架。它主要针对 Spring 应用,与 JustAuth 相比,它的配置更为繁琐。

总结

JustAuth 作为一个简单、易用、美观的第三方登录组件,大大简化了开发者的集成工作。如果您正在寻找一个快速集成第三方登录的解决方案,那么 JustAuth 无疑是一个不错的选择。

史上最全的整合第三方登录的工具,目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软和今日头条等第三方平台的授权登录。 Login, so easy!JustAuth,如你所见,它仅仅是一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy!项目开源地址:gitee | github特点废话不多说,就俩字:全:已集成十多家第三方平台(国内外常用的基本都已包含),后续依然还有扩展计划!简:API就是奔着最简单去设计的(见后面快速开始),尽量让您用起来没有障碍感!快速开始引入依赖     me.zhyd.oauth     JustAuth     1.8.0 调用api// 创建授权request AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()         .clientId("clientId")         .clientSecret("clientSecret")         .redirectUri("redirectUri")         .state("state")         .build()); // 生成授权页面 authRequest.authorize(); // 授权登录后会返回code(auth_code(仅限支付宝))、state,1.8.0版本后,可以用AuthCallback类作为回调接口的参数 authRequest.login(callback);注:1.8.0版本后,增加了state参数校验,用于防止CSRF。强烈建议,保证单次流程内state的唯一性,且每个state只可用一次。配套Demo:JustAuth-demo具体的例子可以参考:实现Gitee授权登录实现Github授权登录API列表平台API类 SDKAuthGiteeRequest参考文档AuthGithubRequest参考文档AuthWeiboRequest参考文档AuthDingTalkRequest参考文档AuthBaiduRequest参考文档AuthCodingRequest参考文档AuthTencentCloudRequest参考文档AuthOschinaRequest参考文档AuthAlipayRequest参考文档AuthQqRequest参考文档AuthWeChatRequest参考文档AuthTaobaoRequest参考文档AuthGoogleRequest参考文档AuthFacebookRequest参考文档AuthDouyinRequest参考文档AuthLinkedinRequest参考文档AuthMicrosoftRequest参考文档AuthMiRequest参考文档AuthToutiaoRequest参考文档AuthCsdnRequest无请知悉:经咨询CSDN官方客服得知,CSDN的授权开放平台已经下线。如果以前申请过的应用,可以继续使用,但是不再支持申请新的应用。so, 本项目中的CSDN登录只能针对少部分用户使用了后续开发计划参考:[开发计划] 待扩展的第三方平台另外,期待您和我一起完善这个项目!贡献代码fork本项目到自己的repo把fork过去的项目也就是你仓库中的项目clone到你的本地修改代码commit后push到自己的库发起PR(pull request) 请求等待作者合并致谢在项目立项初期,也对当前开源圈的一些相同类型的项目作过调研,同时本项目也参考过这些项目,再次感谢开源圈内的朋友。YurunOAuthLogin: PHP 第三方登录授权 SDK阿里妈妈MUX倾力打造的矢量图标库-iconfont: 本文档中的图标大部分取自该平台
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值