转载

JustAuth 史上最全的整合第三方登录的开源库

什么是 JustAuth?
JustAuth,如你所见,它仅仅是一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录 SDK,让登录变得So easy!
JustAuth 集成了诸如:Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow等国内外数十家第三方平台。更多请参考已集成的平台

  • 有哪些特点?
    全:已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中(开发计划)!
    简:API就是奔着最简单去设计的(见后面快速开始),尽量让您用起来没有障碍感!

  • 有哪些功能?
    集成国内外数十家第三方平台,实现快速接入。参考文档
    自定义 State 缓存,支持各种分布式缓存组件。参考文档
    自定义 OAuth 平台,更容易适配自有的 OAuth 服务。参考文档
    自定义 Http 实现,选择权完全交给开发者,不会单独依赖某一具体实现。参考文档
    自定义 Scope,支持更完善的授权体系。参考文档
    更多...参考文档

  • 快速开始

  • 引入依赖

    <dependency>
     <groupId>me.zhyd.oauth</groupId>
     <artifactId>JustAuth</artifactId>
     <version>1.15.7</version>
    </dependency>
    
  • 调用api

    // 创建授权request
    AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
         .clientId("clientId")
         .clientSecret("clientSecret")
         .redirectUri("redirectUri")
         .build());
    // 生成授权页面
    authRequest.authorize("state");
    // 授权登录后会返回code(auth_code(仅限支付宝))、state,1.8.0版本后,可以用AuthCallback类作为回调接口的参数
    // 注:JustAuth默认保存state的时效为3分钟,3分钟内未使用则会自动清除过期的state
    authRequest.login(callback);
    

如下任选一种 HTTP 工具 依赖,项目内如果已有,请忽略。另外需要特别注意,如果项目中已经引入了低版本的依赖,请先排除低版本以后来,引入高版本或者最新版本的依赖
hutool-http

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-http</artifactId>
    <version>5.2.5</version>
</dependency>

httpclient

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.5.12</version>
</dependency>

okhttp

<dependency>
  <groupId>com.squareup.okhttp3</groupId>
  <artifactId>okhttp</artifactId>
  <version>4.4.1</version>
</dependency>
正文到此结束