一款开箱即用的整合第三方登录的开源组件,整合了国内外数十家知名平台的OAuth登录(附源码)

前言

在现代应用开发中,第三方登录认证是一个不可或缺的功能,它为用户带来了便捷的登录体验。然而,开发者在实现这一功能时往往会遇到一些痛点:需要对接多个第三方平台的SDK,每增加一个平台就要编写一套新的代码,导致代码维护变得复杂且困难。此外,从头开发一个完整的登录功能不仅需要投入大量的时间和人力资源,还要考虑到用户因复杂的注册/登录流程而流失的风险。

图片

第三方登录的优势在于简化了用户的登录流程,减少了cao作的复杂性,有效降低了用户流失率,同时也保护了用户的隐私,因为它通常只涉及基本的用户信息,而不触及私密数据。此外,第三方登录还有助于减少系统的维护成本。

那有没有一款软件能够解决上述问题,统一管理第三方登录功能呢?答案是肯定的,它就是JustAuth。

介绍

JustAuth是一款开箱即用的第三方登录开源组件,它整合了国内外数十家知名平台的OAuth登录,极大地简化了开发者在第三方登录功能上的工作量。

图片

特点
  • 丰富的OAuth平台支持:集成了包括Github、Gitee、微博、微信等在内的多家第三方平台。

  • 自定义State:允许开发者根据项目需求自定义State和缓存方式。

  • 自定义OAuth:通过统一接口快速接入任意OAuth网站。

  • 自定义Http接口:不限制使用特定的HTTP工具,开发者可自由选择。

  • 自定义Scope:支持自定义Scope,以适应不同的业务需求。

  • 代码规范·简单:遵循ali巴巴编码规约,代码结构清晰,逻辑简单。

技术架构

JustAuth的技术架构设计考虑了易用性和扩展性,它基于模块化设计,方便开发者根据自己的需求进行定制和扩展。

部署方式

JustAuth支持多种部署方式,无论是在本地开发环境还是生产服务器上,都能快速部署和使用。

开源协议

JustAuth遵循MIT License,允许免费使用、复制、修改和分发,包括商业用途,只需保留版权声明和免责声明。

即刻体验一波

JustAuth的使用非常简单。

支持的组件

图片

图片

图片

图片

图片

图片

以下是一些基本的使用步骤和代码示例:

  1. 申请注册第三方平台的开发者账号:在所需的第三方平台上创建应用,获取必要的配置信息。

  2. 创建应用:使用获取的配置信息在JustAuth中创建应用实例。

  3. 实现授权登录:通过JustAuth提供的API实现用户的授权登录流程。

使用步骤
<dependency>
    <groupId>me.zhyd.oauth</groupId>
    <artifactId>JustAuth</artifactId>
    <version>${latest.version}</version>
</dependency>
调用API
// 创建授权request
AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
        .clientId("clientId")
        .clientSecret("clientSecret")
        .redirectUri("redirectUri")
        .build());
// 生成授权页面
authRequest.authorize("state");
// 授权登录后会返回code(auth_code(仅限支付宝))、state
authRequest.login(callback);
代码演示
@RestController
@RequestMapping("/oauth")
public class RestAuthController {

    @RequestMapping("/render")
    public void renderAuth(HttpServletResponse response) throws IOException {
        AuthRequest authRequest = getAuthRequest();
        response.sendRedirect(authRequest.authorize(AuthStateUtils.createState()));
    }

    @RequestMapping("/callback")
    public Object login(AuthCallback callback) {
        AuthRequest authRequest = getAuthRequest();
        return authRequest.login(callback);
    }

    private AuthRequest getAuthRequest() {
        return new AuthGiteeRequest(AuthConfig.builder()
                .clientId("Client ID")
                .clientSecret("Client Secret")
                .redirectUri("应用回调地址")
                .build());
    }
}

结语

JustAuth 作为一个小而全的第三方登录开源组件,以其简洁的API设计、丰富的平台支持和灵活的自定义功能,极大地简化了开发者在第三方登录功能上的工作。无论是个人开发者还是企业团队,都可以快速地将JustAuth集成到自己的项目中,提升用户体验的同时,降低开发和维护成本。

源码:https://gitee.com/yadong.zhang/JustAuth  
文档:https://www.justauth.cn/

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值