mge-oauth2-授权服务接入指南¶
为了方便第三方应用接入 MGEDATA 数据存储平台,我们开发小组在 MGE 平台集成了 OAuth2 授权服务。 相关授权、认证流程完全遵循 OAuth2.0 标准,这里不再赘述原理与运行流程, 不了解的可以看 RFC 6749 对 OAuth2.0 标准的定义,或者看中文版的介绍:阮一峰 - 理解OAuth 2.0。
应用申请¶
进入 https://www.mgedata.cn/oauth2/applications ,点击“点击此处”添加应用。 已经添加过的直接点击 “new application” 按钮。

填写应用名称,client type 选择 confidential,授权类型按需选择。 ridirect uris 填写回调的 uri 地址(仅这些注册过的地址有效)。

点击保存应用即可。
相关接口简单说明¶
授权相关
/ |
url |
方法 |
参数 |
说明 |
---|---|---|---|---|
base url |
后面的 url 都应该接在他后面 |
|||
申请认证 |
/authorize/ |
GET |
response_type: 授权类型 <br /> client_id: 客户端 ID <br/> redirect_uri: 重定向 uri <br/> scope: 申请的权限范围,目前有 read, write 两种,默认值也为这两种 <br/> state: 客户端状态 |
申请认证,用户登录授权成功之后会跳转到重定向uri, <br/>携带 access_token 和 state(如果有,建议设置,为了安全) 参数。 <br/> code 有效期只有 60s。 成功之后再去请求token。 |
请求 token |
/token/ |
POST |
grant_type: 授权类型,跟申请 client_id 时候选择的一致 <br/> client_id: 客户端 ID <br/> client_secret: 客户端密钥 <br/> code: 上一步中得到的授权码 <br/> redirect_uri: 重定向 uri,跟上一步中应该一致 |
请求 token。 |
刷新 token |
/token/ |
POST |
grant_type: refresh_token <br/> token: 前面获取到的 token |
刷新 token。 |
撤销 token |
/revoke_token/ |
POST |
token: 前面获取到的 token <br/> client_id: 客户端 ID <br/> client_secret: 客户端密钥(在confidential模式需要) |
撤销 token。 |
获取用户信息¶
描述:提供模板 id ,填写该模板对应的数据,并上传。
方法与接口:
`
https://www.mgedata.cn/api/v1/account/o/user/info
`
权限:已登录用户
参数:
HEADER 部分
字段 |
类型 |
描述 |
---|---|---|
Authorization |
String |
认证信息,在通过 oauth 获取了 access_token 之后,将 access_token 置于此字段,<br/> Bearer 类型,例如:Bearer Af8TR1HAmgog19BdmR99vrzEuDEG9a |
返回值
字段 |
类型 |
描述 |
---|---|---|
code |
umber |
错误码,0为成功 |
data |
Object |
具体用户信息 |
data.username |
String |
用户名,唯一 |
data.nickname |
String |
昵称 |
data.email |
String |
邮箱,唯一 |
data.sex |
String |
性别,有 M, F, U 三个枚举值,分别表示 男、女、为设置 |
data.avatar |
String |
头像地址,文件后缀部分除了 lg 之外还可以是 nm 或 sm,大小分别为 200*200,100*100,30*30 |
data.tel |
String |
手机号 |
data.institution |
String |
所属机构 |
data.is_active |
Boolean |
是否有效(有些垃圾用户可能会系统置为无效或非法用户可能被拉黑,为 false 时不应存储该用户信息) |
注:data 字段即为返回的用户信息所有字段,其中 username 和 email 两个字段均为唯一标识,第三方可用任意一个标识用户。
示例返回值
{
"code": 0,
"data": {
"username": "test",
"nickname": "test",
"email": "test@mge.cn",
"sex": "U",
"avatar": "https://www.mgedata.cn/media/avatars/default_lg.jpg",
"tel": "",
"institution": "",
"is_active": true
}
}