阅读(4008) (10)

code2Session

2020-02-12 16:44:46 更新

通过login接口获取到登录凭证后,开发者可以通过服务器发送请求的方式获取session_key和openId。

提示登录凭证 code,anonymous_code 只能使用一次,非匿名需要 code,非匿名下的 anonymous_code 用于数据同步,匿名需要 anonymous_code。


接口地址

GET https://developer.toutiao.com/api/apps/jscode2session


输入

⚠️ 注意code 和 anonymous_code 至少要有一个。
名称描述
appid小程序 ID
secret小程序的 APP Secret,可以在开发者后台获取
codelogin接口返回的登录凭证
anonymous_codelogin接口返回的匿名登录凭证


输出

返回值为 JSON 形式,其中包括如下字段:

名称描述
session_key会话密钥,如果请求时有 code 参数才会返回
openid用户在当前小程序的 ID,如果请求时有 code 参数才会返回
anonymous_openid匿名用户在当前小程序的 ID,如果请求时有 anonymous_code 参数才会返回
⚠️ 注意session_key会随着login接口的调用被刷新。可以通过checkSession方法验证当前 session 是否有效,从而避免频繁登录。session_key会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。

当服务器端无法正确返回时,会返回如下信息:

名称数据类型描述
errcodenumber错误号
errmsgstring错误信息

具体对应关系为:

错误号描述
0请求成功
-1系统错误
40015appid 错误
40017secret 错误
40018code 错误
40019acode 错误
其它参数为空


匿名 openid 数据迁移