授权流程说明
1、 调用 swan.login() 获取 临时登录凭证code ,并回传到开发者服务器;2、 开发者服务器以 code 换取 session_key;3、 调用 swan.getUserInfo() 获取用户信息。
使用百度授权前准备:您需要创建一个智能小程序以获取client_id(AppKey)和client_secret(AppSecret),以上两者均从智能小程序开发者后台查看。
流程示意图
概念介绍:
- OAuth 2.0(开放授权):一个开放登录授权标准。用户授权后,第三方智能小程序无需获取用户的用户名和密码就可以访问该用户。
- Session Key:用户对智能小程序的授权会话的密钥。用户授权后,开发者可以通过百度开放平台获取授权会话的Session Key,此后便可在智能小程序中获取用户信息。
- Code:用户授权的标识。在用户完成对应用的授权后,会生成一个很短时间(十分钟)内有效的授权标识,开发者通过服务端请求,将code以及智能小程序的client_id和secret_key传到开放平台接口,可以获取到SessionKey。
以下是智能小程序使用OAuth 2.0进行授权及获取用户信息的示意图:
1、 智能小程序在App内部运行时使用swan.login()
接口获取Authorization Code;2、 通过 Authorization Code 获取 Session Key;3、 调用getUserInfo获取用户信息;4、 当用户完成了授权,且授权会话仍处于有效期时,智能小程序不需要每次都进行前两步,而是可以直接进行第三步获取用户信息。要判断当前用户的授权会话是否仍处于有效期,可调用checkSession()
方法进行判断,详见下载小程序支付demo。