Session Key

解释: 智能小程序在其服务端中发送POST请求到百度 OAuth2.0 授权服务地址,并带上对应的参数,便可获取到Session Key。 获取Session Key的URL地址 :

  1. https://spapi.baidu.com/oauth/jscode2sessionkey

为了让您的智能小程序运行在联盟 App 上,我们对获取 SessionKey 的接口做了升级。新接口可以兼容获取百度内部 App 和百度外部 App 的 SessionKey。 您只需要将原接口地址

  1. https://openapi.baidu.com/nalogin/getSessionKeyByCode

更改为

  1. https://spapi.baidu.com/oauth/jscode2sessionkey

即可让您的智能小程序在其它App上自动实现账号关联。

方法参数

获取Session Key需要的参数

若参数无误,服务器将返回一段JSON文本,包含以下数据

若请求错误,服务器将返回一段JSON文本,包含以下参数

示例

在开发者工具中预览效果

图片示例

代码示例

-

  1. Page({ data: { sessionKey: '' }, getSessionKey() { swan.login({ success: res => { swan.request({ url: 'https://spapi.baidu.com/oauth/jscode2sessionkey', method: 'POST', header: { 'content-type': 'application/x-www-form-urlencoded' }, data: { // swan.login()返回的 code code: res.code, client_id: 'WPGsbTTGEQ2VRnNcEIjyo5nT1wGxc3PZ', sk: 'zkDSFBfXvHtmtMAsNrQ8sFN9DNLFNZE4' }, success: res => { if (res.statusCode === 200) { this.setData({ sessionKey: res.data.session_key || '' }); } } }); } }); }});

-

  1. <view class="intro"> <button type="primary" bind:tap="getSessionKey">获取 session key</button></view><view class="container" s-if="{{sessionKey}}"> <view>session key 值为:</view> {{sessionKey}}</view>

-

  1. # curl -d "code=xxx&client_id=xxx&sk=xxx"
  2. https://spapi.baidu.com/oauth/jscode2sessionkey
  3. {
  4. "openid": "ABCDEFG123",
  5. "session_key": "xxxxxx"
  6. }