LM AuthGuard · 文档中心

LM AuthGuard第三方授权登录开发文档

一、文档概述

本文档为开发者提供 LM AuthGuard 第三方授权登录的接入指南,包含接入前准备、网站及 APP 接入流程、核心参数说明等内容。开发者需严格遵循文档规范完成接入,确保授权功能正常运行。

接入前需了解并同意以下协议,用户在使用授权功能时也需遵守相关条款:

用户协议隐私政策第三方授权登录服务用户协议

二、接入前准备

在开始开发前,需完成账号注册与应用配置,获取核心接入参数。

2.1. 注册会员并开通应用

访问 LM AuthGuard 官网(authguard.cuoo.cn)下载官方手机APP,登录(登录即注册)并成为平台会员。

访问 LM AuthGuard 开发者后台(authguard.cuoo.cn/dev)使用同账号登录,在后台「应用管理」-「申请新应用」模块中提交应用信息(如应用图标、应用名称、权限、回调地址等),申请开通第三方授权登录功能。

2.2. 获取应用接入配置

应用审核通过后,在开发者后台的「应用管理」-「应用列表」模块中,获取接入所需的核心配置信息(如 client_id、appid 等),后续开发需使用这些参数完成对接。

三、核心参数说明

不同接入场景(网站 / APP)需使用对应的必要参数,以下为各场景的核心参数定义及用途。

参数名称 使用场景 参数说明
client_id(appid) 网站 或 APP 应用唯一标识,由开发者后台生成,用于在授权流程中标识开发者应用
client_secret(appKey) 网站 应用密钥,用于服务端请求时的身份验证,需妥善保管,禁止泄露
auth_server_url 网站 服务端授权登录地址,固定为 https://authguard.cuoo.cn/auth/authorize
token_server_url 网站 服务端获取 access_token 地址,固定为 https://authguard.cuoo.cn/auth/token
info_url 网站 服务端获取用户信息地址,固定为 https://authguard.cuoo.cn/auth/getInfo
redirect_uri 网站 开发者后台回调地址,用户授权后 LM AuthGuard 会将授权码(code)回调至此地址
scheme_callback APP 开发者 APP 的 Scheme 回调地址,用户授权后 LM AuthGuard 会通过此 Scheme 跳转回开发者 APP 并携带 code
state 网站 或 APP 随机字符串,用于防 CSRF 攻击,请求时传入的 state 会在回调时原样返回,需验证一致性
code 网站 或 APP 一次性授权码,用户授权后由 LM AuthGuard 下发,开发者需用此 code 换取 access_token
access_token 网站 或 APP 访问令牌,用于调用 info_url 获取用户信息,有有效期限制

四、开发者网站接入流程

网站接入通过 “发起授权请求 → 回调接收 code → 换取 access_token → 获取用户信息” 四个步骤完成授权登录。

4.1. 步骤一:配置核心参数

在网站项目中创建配置文件(如 config),填入从开发者后台获取的参数,统一管理接入地址与密钥。

需配置的参数包括:client_id、client_secret、auth_server_url、token_server_url、info_url、redirect_uri。

4.2. 步骤二:发起授权请求(用户登录入口)

在网站登录页面(如 index.html)中,生成授权链接并提供用户点击入口,引导用户跳转到 LM AuthGuard 授权页面。

生成授权链接时,需拼接 response_type=code(获取授权码)、client_id(appid)、redirect_uri、state(随机生成)等参数。

用户点击授权链接后,会跳转至 LM AuthGuard 授权页面,完成账号登录与授权操作。

4.3. 步骤三:回调接收 code 并换取 access_token

用户完成授权后,LM AuthGuard 会将用户重定向至开发者配置的 redirect_uri(如 callback.do),并携带 code 和 state 参数。

验证 state 的一致性(与发起授权请求时的 state 比对),防止 CSRF 攻击。

向 token_server_url 发起请求,携带 grant_type=authorization_code、code、client_id(appid)、client_secret(appKey)、redirect_uri 参数,换取 access_token、openid。

服务器返回 access_token 、 expires_in(有效期,秒)、openid 后,需将其和 '当前时间' 存储在开发者服务器中,以便用于后续获取用户信息。

4.4. 步骤四:通过 access_token 获取用户信息

在获取用户信息中,先验证 access_token 是否存在及是否过期。

若 access_token 未过期,向 info_url 发起请求,携带 access_token、openid 参数,获取用户基础信息(如用户唯一标识等)。

若 access_token 已过期,需清除存储的令牌信息,引导用户重新发起授权请求。

五、开发者 APP 接入流程

APP 接入通过 Scheme 跳转实现授权流程,核心是 “发起 Scheme 跳转 → 接收授权 code → 后端换取 access_token → 获取用户信息”。

5.1. 步骤一:配置必要参数

在 APP 项目中配置核心参数,包括从开发者后台获取的 appid,以及自定义的 scheme_callback(需确保该 Scheme 在 APP 中已注册,可被系统唤起)。

5.2. 步骤二:发起授权跳转

在 APP 的登录页面中,构建 LM AuthGuard 的 Scheme 授权链接,引导用户点击跳转至 LM AuthGuard APP进行授权。

Scheme 链接格式:lmauthguard://auth?appid={开发者申请的appid}&scheme_callback={开发者APP的回调地址}&state={随机串,原样返回}

其中 state 为随机生成的字符串,用于后续回调时验证,防止非法请求。

5.3. 步骤三:接收授权 code

用户在 LM AuthGuard APP 中完成授权后,系统会通过 scheme_callback 跳转回开发者 APP,并在跳转参数中携带 code 和 state。

APP 接收跳转参数后,首先验证 state 与发起请求时的一致性,确保请求合法性。

提取 code 参数,该 code 为一次性授权码,需传递给开发者后端服务器。

5.4. 步骤四:后端换取 access_token 并获取用户信息

开发者 APP 将 code 传递给后端后,由后端完成后续流程,与网站接入的步骤三、步骤四一致:

后端向 token_server_url 发起请求,携带 grant_type=authorization_code、code、client_id(appid)、client_secret(appKey)、redirect_uri 参数,换取 access_token、openid。

后端通过 access_token、openid 向 info_url 获取用户信息,处理完成后将结果返回给 APP,完成整个授权登录流程。

六、刷新 access_token

生成的 access_token 是有有效期的,通过 token_server_url 获取用户授权时 LM AuthGuard 服务端会自动检测 access_token 有效期,如未过期则在授权后返回原 access_token,如已过期则自动生成新 access_token 并返回,开发者应判断服务端返回的 access_token 是否和开发者数据库中一致,不一致则为更新后的 access_token;

开发者主动更新 access_token :通过 token_server_url 向服务端发起更新请求,具体参数如下:

grant_type=refresh_authorization_code、client_id(appid)、client_secret(appKey)、redirect_uri,通过验证服务端会返回:access_token、expires_in,开发者应妥善储存。

七、注意事项

7.1. 参数安全

client_secret(appKey)为敏感信息,仅允许在开发者服务端存储和使用,禁止在前端页面或 APP 客户端中暴露。

access_token 具有时效性,需在有效期内使用,过期后需重新发起授权流程。

7.2. 回调地址验证

网站的 redirect_uri 和 APP 的 scheme_callback 需与开发者后台配置的地址完全一致,否则授权回调会失败。

7.3. 异常处理

需处理授权流程中的各类异常情况,如 code 无效、access_token 过期、网络请求失败等,并给用户明确的提示信息。

7.4. 用户协议遵循

开发者需在 APP 或网站的登录页面,明确告知用户授权登录将遵循 LM AuthGuard 的相关协议(用户协议、隐私政策等),并提供协议查看入口。



LM AuthGuard
更新日期:2025年11月23日
生效日期:2025年10月27日