字节跳动登录
info 如果开发者需要更新之前已经授权用户的信息,请在用户授权时将 syncUserProfile 设置为 'overwrite'。
info 字节跳动「抖音」和「头条」等平台(包括开发者工具)同一用户登录拿到的 openid 不一样, 该方法或会获取当前 app 平台,用于区分不同登录的来源。
登入登出
info 「今日头条」、「抖音」、「今日头条 lite 」等小程序中使用
tt.login
接口进行登录的行为统称为「字节跳动登录」。
登入
SDK 提供了快速登录小程序的接口,省去使用字节跳动登录接口时获取 code, session_key 等辅助操作。
静默登录
tt.BaaS.auth.loginWithTt({ forceLogin, createUser })
该方法会进行简单的登录,不需要用户授权,即不会弹出授权框。但如果 app 中未登录,会弹出登录框。
{{appNameAlert()}}
参数说明
参数 | 类型 | 说明 |
---|---|---|
forceLogin | Boolean | 是否强制登录,默认为 |
createUser | Boolean | 是否创建用户,默认为 |
createUser
参数决定了一个新的用户第一次登录时的服务端处理行为。 默认为 true
,服务端会有该用户创建一个知晓云用户记录。 当 createUser
为 false
时,服务端会终止登录过程,返回 404 错误码,开发者可根据该返回结果进行多平台账户绑定的处理。详见 多平台用户统一登录 说明
请求示例
登录成功返回示例 then 回调中的 user 对象为 currentUser 对象,请参考currentUser 小节 :
登录失败返回示例
err 对象结构请参考错误码和 HError 对象
设置用户名和邮箱
用户通过字节跳动登录后,可以设置邮箱、用户名、密码,以便下次可以通过用户名或者邮箱登录。
强制登录
tt.BaaS.auth.loginWithTt({forceLogin, createUser, syncUserProfile})
该方法会弹出授权框。如果 app 中未登录,会先弹出登录框。
{{appNameAlert()}}
参数说明
参数 | 类型 | 说明 |
---|---|---|
forceLogin | Boolean | 是否强制登录,默认为 |
createUser | Boolean | 是否创建用户,默认为 true |
syncUserProfile | String | 是否同步第一层级用户信息,可选值为 |
createUser
参数决定了一个新的用户第一次登录时的服务端处理行为。 默认为 true
,服务端会有该用户创建一个知晓云用户记录。 当 createUser
为 false
时,服务端会终止登录过程,返回 404 错误码,开发者可根据该返回结果进行多平台账户绑定的处理。详见 多平台用户统一登录 说明
{{ userInfoAlert() }}
请求示例
用户同意授权返回示例 then 回调中的 user 对象为 currentUser 对象,请参考currentUser 小节 :
用户拒绝授权示例 catch 回调中的 HError 对象示例:
其他错误 catch 回调中的 res 对象示例:
res 对象结构请参考错误码和 HError 对象
info
tt.BaaS.auth.loginWithTt
默认会检查用户是否已登录,若未登录,该接口默认会先执行登录操作
关联字节跳动小程序
UserRecord.linkTt({forceLogin, syncUserProfile})
通过此方法可将通用注册登录用户(在已登录状态下)关联字节跳动小程序账号。
{{appNameAlert()}}
参数说明
参数 | 类型 | 说明 |
---|---|---|
forceLogin | Boolean | 是否强制登录,默认为 |
syncUserProfile | String | 是否同步第一层级用户信息,可选值为 |
{{ userInfoAlert() }}
请求示例
不获取用户信息(静默登录):
获取用户信息(强制登录):
返回示例
多平台用户统一登录
假设开发者现在同时支持字节跳动小程序和 web 端登录,需要字节跳动小程序新用户关联到已经注册好的用户账户,才能登录成功。 可以通过 loginWithTt
的参数 createUser
设置为 false
,此时,服务端会判断该用户是否已经有账户记录, 如果没有,则返回 404 状态码。开发者可根据此状态码,跳转到需要填写用户名密码页面,进行已有账户的关联或新的账户的创建, 完成后,调用 linkTt
方法完成当前字节跳动小程序用户与账户的绑定。下一次用户再次登录时,则会直接登录成功。
示例代码
静默登录时检查
请求用户授权(强制登录)后检查
若已经提前申请了用户授权,也可以在 tt.getUserInfo() 的 success 回调中进行关联账户
Last updated