快速接入指南

本指南将帮助您在最短时间内完成墨觉互联 OAuth2 授权接入。按照以下三个步骤操作即可。

前提条件:您需要先注册墨觉互联账号,并在控制台创建应用,等待管理员审核通过后获取 AppID 和 AppSecret。

第一步:引导用户授权

在您的应用中,将"使用墨觉账号登录"按钮链接到以下授权地址:

http://auth.mojue88.com/oauth/authorize.php?client_id=YOUR_APP_ID&redirect_uri=YOUR_CALLBACK_URL&response_type=code&state=RANDOM_STRING&scope=basic

参数说明

参数必填说明
client_id应用的 AppID
redirect_uri授权回调地址,必须与应用配置的回调地址前缀匹配
response_type固定值:code
state推荐随机字符串,用于防止CSRF攻击,回调时原样返回
scope授权范围,可选值:basic(默认)、basic+emailprofile

用户访问该地址后,将看到墨觉互联的授权页面。用户登录并同意授权后,页面将重定向到您的 redirect_uri,并在URL中携带授权码:

YOUR_CALLBACK_URL?code=AUTHORIZATION_CODE&state=RANDOM_STRING

如果用户拒绝授权,将重定向到:

YOUR_CALLBACK_URL?error=access_denied&state=RANDOM_STRING

第二步:换取访问令牌

在您的服务端(注意:必须在服务端执行,不能暴露 AppSecret),使用上一步获取的授权码 code 换取 access_token。

请求地址

POST http://auth.mojue88.com/oauth/token.php

请求参数(application/x-www-form-urlencoded)

参数必填说明
grant_type固定值:authorization_code
client_id应用的 AppID
client_secret应用的 AppSecret
code上一步获取的授权码
redirect_uri必须与授权时的 redirect_uri 一致

返回示例

{
  "access_token": "at_xxxxxxxxxxxxxxxxxxxx",
  "token_type": "Bearer",
  "expires_in": 7200,
  "refresh_token": "rt_xxxxxxxxxxxxxxxxxxxx",
  "scope": "basic",
  "openid": "uid_1_xxxxxxxxxxxxxxxx"
}

第三步:获取用户信息

使用上一步获取的 access_token 调用用户信息接口。

请求地址

GET http://auth.mojue88.com/oauth/userinfo.php

请求方式

在 HTTP Header 中携带 access_token:

Authorization: Bearer ACCESS_TOKEN

也可以通过 GET 参数传递(不推荐):

GET /oauth/userinfo.php?access_token=ACCESS_TOKEN

返回示例(scope=basic)

{
  "openid": "uid_1_xxxxxxxxxxxxxxxx",
  "username": "zhangsan",
  "nickname": "张三",
  "avatar": "https://example.com/avatar.png"
}

如果 scope 包含 email,返回中会额外包含 email 字段;如果 scope 为 profile,还会包含 bioregistered_at 字段。

刷新令牌

当 access_token 过期后,可以使用 refresh_token 刷新获取新的令牌,无需用户重新授权。

POST http://auth.mojue88.com/oauth/token.php
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&refresh_token=YOUR_REFRESH_TOKEN
注意:refresh_token 有效期为30天,使用后旧的 refresh_token 会失效,返回新的 refresh_token。请妥善保存最新的 refresh_token。

完整流程图

+--------+                               +---------------+
|        |--(1)- 授权请求 ---------------->|               |
|  应用  |                               |  墨觉互联     |
|        |<-(2)- 重定向带code -----------|  授权服务器   |
|        |                               |               |
|        |--(3)- code + secret 换token ->|               |
|        |<-(4)- access_token -----------|               |
|        |                               |               |
|        |--(5)- access_token 获取用户 ->|               |
|        |<-(6)- 用户信息 ----------------|               |
+--------+                               +---------------+

至此,您已完成墨觉互联的完整接入流程。更多详细信息请参考 API详细文档SDK示例