1
0
mirror of synced 2026-02-23 04:57:48 +08:00

📝 编写文档

This commit is contained in:
yadong.zhang
2019-08-23 20:05:26 +08:00
parent 10df9f05f3
commit 16f77ec770
8 changed files with 264 additions and 9 deletions

View File

@@ -54,6 +54,10 @@ JustAuth如你所见它仅仅是一个**第三方授权登录**的**工具
1. **全**:已集成十多家第三方平台(国内外常用的基本都已包含),后续依然还有扩展计划!
2. **简**API就是奔着最简单去设计的尽量让您用起来没有障碍感
## 项目关注度趋势
[![Stargazers over time](https://starchart.cc/justauth/JustAuth.svg)](https://starchart.cc/justauth/JustAuth)
## 已集成的平台
| :computer: 平台 | :coffee: API类 | :page_facing_up: SDK |

View File

@@ -1,7 +1,7 @@
- [入门](README.md)
- [更新记录](update.md)
- 引导
- [如何使用JustAuth集成一个平台](how-to-use.md)
- [概述](README.md)
- 快速开始
- [名词解释](explain.md)
- [如何使用](how-to-use.md)
- [获取授权链接](authorize.md)
- [登录](login.md)
- 其他特性
@@ -10,3 +10,4 @@
- [配套项目](supporting.md)
- [Q&A](Q&A.md)
- [Who is using](users.md)
- [更新记录](update.md)

29
docs/explain.md Normal file
View File

@@ -0,0 +1,29 @@
本文将就JustAuth中涉及到的一些配置、关键词做一下简单说明方便使用者理解、使用。
## 本文相关名词
- `调用者` 指使用`JustAuth`的开发者
- `第三方` 指开发者对接的第三方网站比如QQ平台、微信平台、微博平台
- `用户` 指最终服务的真实用户
## JustAuth中的关键词
以下内容了解后将会使你更容易地上手JustAuth。
- `clientId` 客户端身份标识符应用id一般在申请完Oauth应用后由**第三方平台颁发**,唯一
- `clientSecret` 客户端密钥一般在申请完Oauth应用后由**第三方平台颁发**
- `redirectUri` **调用者项目中的有效api地址**。用户在确认第三方平台授权登录第三方平台会重定向到该地址并携带code等参数
- `state` 用来保持授权会话流程完整性防止CSRF攻击的安全的随机的参数由**调用者生成**
- `alipayPublicKey` 支付宝公钥。当选择支付宝登录时,必传该值,由**调用者生成**
- `unionId` 是否需要申请unionid目前只针对**qq登录**。注qq授权登录时获取unionid需要单独发送邮件申请权限。如果个人开发者账号中申请了该权限可以将该值置为true在获取openId时就会同步获取unionId。参考链接[UnionID介绍](http://wiki.connect.qq.com/unionid%E4%BB%8B%E7%BB%8D)
- `stackOverflowKey` Stack Overflow 登陆时需单独提供的key由**第三方平台颁发**
- `agentId` 企业微信登陆时需单独提供该值,由**第三方平台颁发**为授权方的网页应用ID
- `source` JustAuth支持的第三方平台比如GITHUB、GITEE等
## 参考资料
关于OAuth2相关的内容、原理可以自行参阅以下资料
- [The OAuth 2.0 Authorization Framework](https://tools.ietf.org/html/rfc6749)
- [OAuth 2.0](https://oauth.net/2/)

View File

@@ -1,3 +1,33 @@
# 如何使用JustAuth集成一个平台
在前面有介绍到JustAuth的特点之一就是**简**,极简主义,不给使用者造成不必要的障碍。
待补充
既然牛皮吹下了, 那么如何才能用JustAuth实现第三方登录呢
使用JustAuth总共分三步**这三步也适合于任何一个支持的平台**
1. 申请注册第三方平台的开发者账号
2. 创建第三方平台的应用,获取配置信息(id, secret, callbackUrl)
3. 使用该工具实现授权登陆
- 引入依赖
```xml
<dependency>
<groupId>me.zhyd.oauth</groupId>
<artifactId>JustAuth</artifactId>
<version>1.10.1</version>
</dependency>
```
- 调用api
```java
// 创建授权request
AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
.clientId("clientId")
.clientSecret("clientSecret")
.redirectUri("redirectUri")
.build());
// 生成授权页面
authRequest.authorize();
// 授权登录后会返回codeauth_code仅限支付宝、state1.8.0版本后可以用AuthCallback类作为回调接口的参数
// 注JustAuth默认保存state的时效为3分钟3分钟内未使用则会自动清除过期的state
authRequest.login(callback);
```

View File

@@ -48,6 +48,29 @@
auto2top: true,
coverpage: true,
formatUpdated: '{YYYY}/{MM}/{DD} {HH}:{mm}:{ss}',
plugins: [
function (hook, vm) {
var footer = [
'<hr/>',
'<footer>',
'<span>JustAuth: <a href="https://github.com/justauth/JustAuth">Github</a> | <a href="https://gitee.com/yadong.zhang/JustAuth">Gitee</a> &copy;2019.</span>',
'<span>Proudly published with <a href="https://github.com/docsifyjs/docsify" target="_blank">docsify</a>.</span>',
'</footer>'
].join('');
hook.afterEach(function (html) {
return html + footer
});
hook.beforeEach(function (html) {
var url = 'https://gitee.com/yadong.zhang/JustAuth/tree/master/docs/' + vm.route.file;
var editHtml = '[📝 编辑该文档](' + url + ')\n';
return html
+ '\n----\n'
+ 'Last modified {docsify-updated} '
+ editHtml
})
}
]
}
</script>
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>