360小程序提供统一登录接口,能够帮助开发者获取360提供的用户身份标识,及在用户授权的情况下获取头像、昵称等用户信息。能够帮助开发者快速建立用户体系。
流程说明:
调用 qihoo.login() 获取 临时登录凭证auth code ,并回传到开发者服务器。
开发者服务器调用 获取小程序oauth会话秘钥 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。
小程序调用qihoo.Authorize授权接口获取用户授权,授权后才能调用用户信息获取接口
在调用授权接口后,开发者可调用qihoo.GetBaseUserInfo接口获取用户头像、昵称等非加密信息
注意:
会话密钥 session_key 是对用户数据进行加密签名的密钥。为保证应用安全,开发者服务器不应把会话密钥下发到小程序,也不应对外提供这个密钥。
临时登录凭证 code 只能使用一次
qihoo.login(callback)
调用接口获取登录凭证(auth code)。通过凭证进而换取用户登录态信息,包括用于访问用户数据的access token与用于更新会话有效期的update token等。
请求参数
参数名
类型
必填
说明
callback
function
是
登陆成功或失败后的回调:
参数1:整形错误码,详见code说明;
参数2:json格式字符串:{“auth_code”:”auth_code”},
其中auth_code字段为登录凭证
示例代码qihoo.Login(function(code, data) {
console.info(code);
console.info(data);
})
qihoo.Authorize(field, callback)
向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。
请求参数
参数名
类型
必填
说明
filed
string
是
需要获取权限的授权域(field),详见授权域说明
callback
function
是
登陆成功或失败后的回调:
参数1:整形错误码,详见code说明;
参数2:保留
示例代码qihoo.Authorize('user_base_info', function(code, data) {
console.info(code);
console.info(data);
})
qihoo.GetBaseUserInfo(callback)
获取用户基本信息:昵称、头像,调用的前提条件是用户已经授权,否则返回失败,参考qihoo.Authorize(field, callback)。
请求参数
参数名
类型
必填
说明
callback
function
是
登陆成功或失败后的回调:
参数1:整形错误码,详见code说明;
参数2:json格式字符串:
{
“nickname ”:”nickname ”,
”head_icon”:”icon url”
}
示例代码qihoo.Authorize('user_base_info', function(code, data) {
if(code == 0) {
qihoo.GetBaseUserInfo(function(code, data) {
console.info(code);
console.info(data);
})
}
})
获取小程序oauth会话秘钥
本接口应在服务器端调用。
登录凭证校验。通过 qihoo.login 接口获得临时登录凭证(auth code)后传到开发者服务器调用此接口完成登录流程。
请求地址 https://mp.360.cn/miniplatform/open/oauth2/session_key 请求参数
请求
请求地址POST https://mp.360.cn/miniplatform/open/oauth2/session_key
请求参数
请求参数为json格式
名称
类型
必填
说明
app_id
string
是
小程序app_id
app_secret
string
是
小程序app_secert
auth_code
string
是
小程序临时授权码
返回结果
返回结果为json格式
名称
说明
说明
code
string
成功:"SUCCESS",
失败:
"FAIL_01": app_info无效,
"FAIL_02": auth_code无效,
message
string
错误原因描述信息
session_key
string
小程序会话秘钥 (一期不会使用)
open_id
string
用户open_id
授权域
“user_base_info” 获取用户信息权限
code说明:
0 成功 1 无效小程序ID 2 无效用户ID 3 无效授权域 5 服务器错误 6 拒绝访问 100 其它错误