4

接入流程

泽汐(Evetide)统一登录支持两种接入方式:Web 网站走标准 OAuth 2.0 授权码(四步),iOS / Android / 桌面 App 可用原生登录 API 免浏览器直连(三种方式)。

四步完成授权码接入

1

发起授权

网站登录页放一个「统一登录」入口,跳转到授权地址。校验返回的 state 防止 CSRF:

https://login.evetide.cn/api_authorize.php?client_id=你的client_id&redirect_uri=你的回调地址&response_type=code&scope=profile email&state=你自己生成的随机串
2

用户授权后回调

用户登录 / 注册并同意授权后,跳回你的回调地址并携带 ?code=xxx&state=xxx。先校验 state,再用 code 换 token:

POST https://login.evetide.cn/api_token.phpAuthorization: Basic base64(client_id:client_secret)
grant_type=authorization_code&code=xxx&redirect_uri=你的回调地址
3

获取用户信息

用返回的 access_token 请求用户信息:

GET https://login.evetide.cn/api_userinfo.phpAuthorization: Bearer <access_token>

返回 sub(用户唯一标识)、name(昵称)、email、picture(头像)。

4

建立本地登录态

用 sub 作为用户在你自己系统的标识,创建本地登录态,完成接入。

原生接入(App 免浏览器)

iOS / Android / 桌面 App 不想用 WebView 或系统浏览器展示登录页?直接调原生登录接口,应用内完成登录,返回与网页登录一致的 access_token / refresh_token。

A

邮箱 + 密码

App 内输入用户名 / 邮箱和密码直接登录,内置防暴力破解限流(5 次 / 5 分钟)。

POST https://login.evetide.cn/api_native_login.php{ "type": "password", "client_id": "你的client_id", "account": "user@x.com", "password": "..." }
B

邮箱 + 验证码

先发登录验证码(api_send_code.php,method=login),再凭验证码登录,无需密码。

POST https://login.evetide.cn/api_send_code.php{ "email": "user@x.com", "method": "login", "captcha_token": "" }

POST https://login.evetide.cn/api_native_login.php{ "type": "email_code", "client_id": "你的client_id", "email": "user@x.com", "code": "123456" }
C

快捷登录(平台 SDK)

App 端用平台原生 SDK(微信 / QQ / 钉钉 / 飞书 / GitHub / Gitee)拿到 openid,直接登录,首次自动建档。

POST https://login.evetide.cn/api_native_login.php{ "type": "social", "client_id": "你的client_id", "provider": "wechat",
  "provider_sub": "平台openid", "nickname": "可选", "avatar": "可选", "email": "可选" }

限流:每应用默认 100 次 / 分钟。详见 接口一览。

← 返回快速开始 下一章:代码示例 →