华农之窗第三方登录接入文档
作者:互联网
开发文档
1、申请应用
暂时未开启应用申请,如有需要测试,请发送邮件至shaoming6.lu@qq.com,需写明申请原因、应用名称、回调地址(不能带有参数)、官网链接。
- 体验地址:http://oauth.lushaoming.cn/oauth/grant?app_id=XF7uBeTrvlQoDPin&redirect_uri=http://oauth.lushaoming.cn/oauth/callback&response_type=code&state=test
2、跳转至登录授权页面
页面跳转至http://oauth.lushaoming.cn/oauth/grant?app_id=APP_ID&redirect_uri=REDIRECT_URL&response_type=code&state=STATE
- state参数会原样返回,最大长度为128位
3、用户授权登录后跳转至回调地址
用户授权登录后,页面会跳转至应用的回调地址,并且携带code和state参数,应用拿到code参数后,可向授权服务器发起请求,获取用户的openid和用户的开放信息。
4、接口文档
4.1 获取access_token
access_token是应用访问授权服务器的令牌,有效期为1天(以后可能会有变动)。令牌过期则无法访问授权服务器接口,开发者应该在令牌过期前重新获取新令牌。当获取到新的令牌后,授权服务器会保证旧的令牌在5分钟内仍然有效,保证令牌平滑过渡。开发者不应该频繁去调用获取令牌接口(此接口响应可能比较慢),应该将获取到的令牌保存起来。可以设置一个计划任务,在令牌过期前去刷新即可。如果发现频繁去刷新令牌,可能会封禁该应用。
接口地址:GET http://oauth.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 | XF7uBeTrvlQoDPin |
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 http://oauth.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 http://oauth.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-未知 | 1 |
data.language | string | 语言 | zh_CN |
大家有任何疑问,可通过邮件联系我:shaoming6.lu@qq.com
标签:openid,令牌,文档,app,用户,参数,oauth,之窗,华农 来源: https://blog.csdn.net/qq_29461109/article/details/114749834