JustAuth提供类库功能,用户在开发第三方登录组件的时候就可以选择这款类库快速添加相应的功能,现在很多软件都是授权第三方登录的,通过第三方登录就可以使用已经有的访问软件、访问网站,节约用户注册软件的时间,如果你需要为自己的平台附加第三方登录组件就可以选择JustAuth类库设计相关的登录方案,软件支持Github,Gitee,支付宝,微博,微信等第三方登录平台,也提供国外一些平台登录类库设置,集成十多个第三方平台登录开发类库,让用户可以更快设计登录方案!
JustAuth软件功能
丰富的OAuth平台
支持国内外数十家知名的第三方平台的OAuth登录。
自定义状态
支持自定义状态和缓存方式,开发者可根据实际情况选择任意缓存插件。
自定义OAuth
提供统一接口,支持接受任意OAuth网站,快速实现便捷的OAuth登录功能。
自定义Http
连接HTTP工具,开发者可以根据自己项目的实际情况选择相对应的HTTP工具。
自定义范围
支持自定义范围,以适应更多的业务场景,而多个为了登录。
代码规范·简单
JustAuth代码严格遵守阿里巴巴编码法规约,结构清晰,逻辑简单。
JustAuth软件特色
全:已集成十多个第三方平台(内部常用的基本都已包含),仍还在持续扩展中(开发计划)!
简:API就是奔着最简单去设计的(见后面快速开始),尝试让您用起来没有障碍感!
JustAuth,如你所见,它包含一个第三方授权登录的工具类库,它可以让我们分开繁琐的第三方登录SDK,让登录变得如此简单!
JustAuth集成了诸如:Github,Gitee,支付宝,微博,微信
JustAuth使用说明
OAuth 2 的授权流程
参与的角色
Resource Owner 资源所有者,即代表授权客户端访问本身资源的用户(User),也就是应用场景中的“开发者A”
Resource Server 资源,托管受保护的用户,比如Github
Authozation Server 授权,验证用户身份为客户端派发资源访问令牌,比如Github
Resource Server和Authozation Server 可以是同一台,也可以是不同的,视具体的授权平台而有所差异
Client 客户端,即代表意图访问受限资源的第三方应用
授权流程
上面的流程图取自The OAuth 2.0 Authozation Framework#1.2(opens new window)流程解析
(A) 用户打开客户端以后,客户端要求用户给予授权。
(B) 用户同意给予客户端授权。
(C) 客户端使用上一步获得的授权,向认证申请令牌。
(D) 认证对客户端进行认证以后,确认无误,同意发放令牌
(E) 客户端使用令牌,向资源申请获取资源。
(F) 资源确认令牌无误,同意向客户端开放资源。
#授权许可 Authozation Grant
Authozation Code
结合普通端应用使用(web端常用的授权方式)
Implicit
结合移动应用或 Web App 使用
Resource Owner Password Credentials
适用于受信任客户端应用,例如同个组织的内部或外部应用
Client Credentials
适用于客户端调用主服务API型应用(比如百度API Store)
#直白话 OAuth 2 流程
以上流程理解起来可能有些难度,这儿我们给出一个白话版的流程图
首先引入三个角色:
用户A:可以理解成你自己
网站B:可以理解成 OSChina
第三方C:可以理解成 Github
需求:你(用户A)想通过 Github(第三方C) 登录网站B(OSChina)。
注:下面的内容为流程图,如果您在阅读的时候显示为纯文字,请尝试刷新页面,直到显示正常
在前面有介绍到,JustAuth的特点之一就是简,极简主义,不给使用者造成不必要的障碍。
既然牛皮吹下了, 那么如何才能用JustAuth实现第三方登录呢?
JustAuth使用步骤
使用JustAuth总共分三步(这三步也适合于JustAuth支持的任何一个平台):
1、申请注册第三方平台的开发者
2、创建第三方平台的应用,获取配置(accessKey, secretKey, redirectU)
3、使用该工具实现授权登陆
#使用方式
引入依赖
调用api
注意
JustAuth从v1.14.0 (opens new window)开始默认集成了的-http (opens new window)作为HTTP通用接口(更新说明见JustAuth 1.14.0版本正式发布!完美解耦HTTP工具 (opens new window)),鉴于一般项目中都已经集成了HTTP工具,比如OkHttp3、apache HttpClient、hutool-http,因此为了减少不必要的依赖,从v1.14.0 (opens new window)开始JustAuth将不会默认集成hutool-http,如果开发者的项目是全新的或者项目内没有集成HTTP实现工具,请自行添加对应的HTTP实现类,备选依赖如下:
hutool-http 点击查看代码
httpclient 点击查看代码
okhttp 点击查看代码
使用国外平台
由于 Q 的限制,在使用国外平台时,需要额外配置 httpConfig,如下:
注意
使用代理时,必须开启全局代理! 开启全局代理! 开启全局代理!,不能只开启浏览器代理