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