华农之窗 / 开发文档 · 2021年2月6日 0

华农之窗授权登录开发文档

1、申请应用

在开放平台申请应用,地址:https://open.lushaoming.cn

  • 体验地址:体验地址
  • 使用PHP的开发者可以使用文章末尾提供的SDK进行开发,只需几行代码即可接入。

2、跳转至登录授权页面

页面跳转至https://oauth.lushaoming.cn/oauth/grant?app_id=APP_ID&redirect_uri=REDIRECT_URL&response_type=code&state=STATE

  • 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_idstring应用ID
app_secretstring应用的密钥

响应参数

参数名参数类型说明示例
codeint响应码0
msgstring错误信息OK
dataobject数据
data.app_idstring应用的ID10000
data.access_tokenstring令牌XF7uBeTrvlQoDPin24b87ea570db5b13cb54edf7bca4bb5b
data.create_timeint令牌创建的时间戳,单位:秒1612497565
data.expire_inint令牌有效时间,单位:秒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_tokenstring令牌
app_idstring应用ID
codestring用户授权的code

响应参数

参数名参数类型说明示例
codeint响应码0
msgstring错误信息OK
dataobject数据
data.openidstring用户的openid540c5a03161f6480d80f415f31f49395b2b4b6

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_tokenstring令牌
app_idstring应用ID
openidstring用户的openid

响应参数

参数名参数类型说明示例
codeint响应码0
msgstring错误信息OK
dataobject数据
data.nicknamestring昵称微信名字
data.avatar_urlstring头像地址https://thirdwx.qlogo.cn/mmopen/vi_32/mto2a
data.countrystring国家现在返回空字符串
data.provincestring省份现在返回空字符串
data.citystring城市现在返回空字符串
data.genderint性别,1-男,2-女,0-未知0
data.languagestring语言zh_CN

PHP-SDK下载

sdk使用教程请参考文章:php-sdk授权使用教程