1、申请应用
在开放平台申请应用,地址:https://open.lushaoming.cn
- 体验地址:体验地址
- 使用PHP的开发者可以使用文章末尾提供的SDK进行开发,只需几行代码即可接入。
2、跳转至登录授权页面
- state参数会原样返回,最大长度为128位
- redirect_uri使用url encode编码
- default_grant: 进入页面默认的授权方式:wechat, account,默认wechat
- scope: 获取权限类型,默认getuserinfo
3、用户授权登录后跳转至回调地址
用户授权登录后(账密登录或扫码登录),页面会跳转至应用的回调地址,并且携带code和state参数,应用拿到code参数后,可向授权服务器发起请求,获取用户的openid和用户的开放信息。
4、接口文档
4.1 获取access_token
access_token是应用访问授权服务器的令牌,有效期为1天(以后可能会有变动)。令牌过期则无法访问授权服务器接口,开发者应该在令牌过期前重新获取新令牌。当获取到新的令牌后,授权服务器会保证旧的令牌在5分钟内仍然有效,保证令牌平滑过渡。开发者不应该频繁去调用获取令牌接口,应该将获取到的令牌保存起来。可以设置一个计划任务,在令牌过期前去刷新即可。如果发现频繁去刷新令牌,可能会封禁该应用。
接口地址:GET https://oauth-api.lushaoming.cn/applications/getAccessToken?app_id=APP_ID&app_secret=APP_SECRET
请求参数
参数名 | 参数类型 | 说明 |
---|---|---|
app_id | string | 应用ID |
app_secret | string | 应用的密钥 |
响应参数
参数名 | 参数类型 | 说明 | 示例 |
---|---|---|---|
code | int | 响应码 | 0 |
msg | string | 错误信息 | OK |
data | object | 数据 | |
data.app_id | string | 应用的ID | 10000 |
data.access_token | string | 令牌 | XF7uBeTrvlQoDPin24b87ea570db5b13cb54edf7bca4bb5b |
data.create_time | int | 令牌创建的时间戳,单位:秒 | 1612497565 |
data.expire_in | int | 令牌有效时间,单位:秒 | 86400 |
4.2 获取openid
通过用户授权的code,可以获取到用户的唯一标志openid。
一个用户,对于一个应用,只会存在一个openid。
用户的openid虽然不会变,但是通过openid获取用户信息时,用户授权的openid的有效期为30天,过期则无法通过openid去获取用户信息,用户每次重新授权都会刷新openid的有效期。
接口地址:GET https://oauth-api.lushaoming.cn/user/getOpenid?access_token=ACCESS_TOKEN&app_id=APP_ID&code=CODE
请求参数
参数名 | 参数类型 | 说明 |
---|---|---|
access_token | string | 令牌 |
app_id | string | 应用ID |
code | string | 用户授权的code |
响应参数
参数名 | 参数类型 | 说明 | 示例 |
---|---|---|---|
code | int | 响应码 | 0 |
msg | string | 错误信息 | OK |
data | object | 数据 | |
data.openid | string | 用户的openid | 540c5a03161f6480d80f415f31f49395b2b4b6 |
4.3 获取用户信息
用户的openid虽然不会变,但是通过openid获取用户信息时,用户授权的openid的有效期为30天,过期则无法通过openid去获取用户信息,用户每次重新授权都会刷新openid的有效期。
接口地址:GET https://oauth-api.lushaoming.cn/user/getInfo?access_token=ACCESS_TOKEN&app_id=APP_ID&openid=OPENID
请求参数
参数名 | 参数类型 | 说明 |
---|---|---|
access_token | string | 令牌 |
app_id | string | 应用ID |
openid | string | 用户的openid |
响应参数
参数名 | 参数类型 | 说明 | 示例 |
---|---|---|---|
code | int | 响应码 | 0 |
msg | string | 错误信息 | OK |
data | object | 数据 | |
data.nickname | string | 昵称 | 微信名字 |
data.avatar_url | string | 头像地址 | https://thirdwx.qlogo.cn/mmopen/vi_32/mto2a |
data.country | string | 国家 | 现在返回空字符串 |
data.province | string | 省份 | 现在返回空字符串 |
data.city | string | 城市 | 现在返回空字符串 |
data.gender | int | 性别,1-男,2-女,0-未知 | 0 |
data.language | string | 语言 | zh_CN |
- 由于微信限制,现在国家、省份和城市信息强制返回空字符串,性别返回0,语言返回zh_CN。详情请查看:https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801
PHP-SDK下载
sdk使用教程请参考文章:php-sdk授权使用教程
近期评论