百度登录
登入
SDK 提供了快速登录小程序的接口,省去使用 百度登录接口时获取 code, session_key 等辅助操作。
建议的登录流程是,通过 swan.BaaS.auth.loginWithBaidu() 获取用户 openID, 这时无需弹框授权,开发者拿到 openID 可以建立自身的帐号 ID。当必须要获得用户的头像昵称等信息时,才让用户点击 button(open-type="getUserInfo" ),弹框授权。
静默登录
swan.BaaS.auth.loginWithBaidu(null, { createUser })
该方法会进行简单的登录,不需要用户授权,即不会弹出授权框。但如果 app 中未登录,会弹出登录框。
参数说明
createUser
Boolean
是否创建用户,默认为 true,可选
createUser 参数决定了一个新的 百度用户第一次登录时的服务端处理行为。 默认为 true,服务端会有该用户创建一个知晓云用户记录。 当 createUser 为 false 时,服务端会终止登录过程,返回 404 错误码,开发者可根据该返回结果进行多平台账户绑定的处理。详见 多平台用户统一登录 说明
请求示例
// 百度用户登录小程序
swan.BaaS.auth.loginWithBaidu().then(user => {
// 登录成功
}, err => {
// 登录失败
})登录成功返回示例 then 回调中的 user 对象为 currentUser 对象,请参考currentUser 小节 :
登录失败返回示例
err 对象结构请参考错误码和 HError 对象
设置用户名和邮箱
用户通过 百度登录后,可以设置邮箱、用户名、密码,以便下次可以通过用户名或者邮箱登录。
请求用户授权
开发者需要提供按钮的方式,令用户触发授权操作
swan.BaaS.auth.loginWithBaidu(data, {createUser, syncUserProfile})
参数说明
data
object
bindgetuserinfo 事件回调返回的参数
createUser
Boolean
是否创建用户,默认为 true
createUser 参数决定了一个新的 百度用户第一次登录时的服务端处理行为。 默认为 true,服务端会有该用户创建一个知晓云用户记录。 当 createUser 为 false 时,服务端会终止登录过程,返回 404 错误码,开发者可根据该返回结果进行多平台账户绑定的处理。详见 多平台用户统一登录 说明
用户点击该按钮时,会返回获取到的用户信息,其中包括加密的敏感信息,开发者需在回调中调用 swan.BaaS.loginWithBaidu 方法,以获得解密后的全部用户信息。
请求示例
用户同意授权返回示例 then 回调中的 user 对象为 currentUser 对象,请参考currentUser 小节 :
用户拒绝授权示例 catch 回调中的 HError 对象示例:
其他错误 catch 回调中的 res 对象示例:
res 对象结构请参考错误码和 HError 对象
info
swan.BaaS.auth.loginWithBaidu默认会检查用户是否已登录,若未登录,该接口默认会先执行登录操作
关联百度小程序
UserRecord.linkBaidu()
请求示例
返回示例
多平台用户统一登录
假设开发者现在同时支持百度小程序和 web 端登录,需要百度小程序新用户关联到已经注册好的用户账户,才能登录成功。 可以通过 loginWithBaidu 的参数 createUser 设置为 false,此时,服务端会判断该用户是否已经有账户记录, 如果没有,则返回 404 状态码。开发者可根据此状态码,跳转到需要填写用户名密码页面,进行已有账户的关联或新的账户的创建, 完成后,调用 linkBaidu 方法完成当前百度小程序用户与账户的绑定。下一次用户再次登录时,则会直接登录成功。
示例代码
静默登录时检查
请求用户授权后检查
已废弃 关联百度小程序(SDK < 3.19.1)
已废弃 关联百度小程序(SDK < 3.19.1)关联百度小程序(旧)
UserRecord.linkBaidu(data, {syncUserProfile})
参数说明
data
object
swan.getUserInfo() success 回调中收到的参数,可选
请求示例
不获取用户信息:
获取用户信息:
返回示例
Last updated
Was this helpful?