User 编辑文档

wilddog.User 对象包含所有维护帐户个人信息的接口,我们不能直接创建此对象,只能通过 wilddog.auth().currentUser 或者部分登录接口来获取 User 的实例。

属性

displayName

定义

nullable string

说明

帐户名称



email

定义

nullable string

说明

帐户主邮箱地址



phone

定义

nullable string

说明

帐户手机号



emailVerified

定义

boolean

说明

帐户的主邮箱是否被验证过



phoneVerified

定义

boolean

说明

帐户的手机号是否被验证过



isAnonymous

定义

boolean

说明

帐户是否是匿名帐户认证



photoURL

定义

nullable string

说明

帐户照片地址



providerData

定义

non-null Array of wilddog.UserInfo

说明

帐户下所有身份提供商信息

返回值

wilddog.UserInfo



providerId

定义

string

说明

当前帐户登录使用的身份认证提供商名称,例如 weibo,weixin。



uid

定义

string

说明

Wilddog Id



方法

getToken

定义

getToken()

说明

获取当前账户的token


link

定义

link(credential)

说明

帐户使用令牌关联其他身份提供商信息。

参数

参数名 描述
credential wilddog.auth.Credential特定登录方式的认证凭据

返回值

wilddog.Promise.<wilddog.User>

参考

可能发生的错误:

  • provider_already_linked 表示尝试关联的登录方式的类型已经关联到此帐户。
  • email_already_in_use 表示尝试关联的凭据(邮箱密码登录的凭据)已与另一个不同 Wilddog 帐户关联。
  • authentication_disabled 表示要关联的登录方式没有打开,可以在野狗的控制面板中打开这个选项。



linkWithPopup

定义

linkWithPopup(provider)

参数

参数名 描述
provider wilddog.auth.Provider 类型,特定登录方式的实例

说明

使用 popup 方式关联 OAuth 登录方式

返回值

wilddog.Promise.<wilddog.User>

示例

// 关联微博登录
var provider = new wilddog.auth.WeiboAuthProvider();
wilddog.auth().currentUser
.linkWithPopup(provider)
.then(function (user) {
console.info("link weibo->", user);
})
.catch(function (err) {
console.info(err);
});

描述

可能发生的错误:

  • authentication_disabled 表示匿名方式没有打开,可以在野狗的控制面板中打开这个选项。



linkWithRedirect

定义

linkWithRedirect(provider)

说明

通过浏览器跳转的形式为用户关联新的 OAuth 登录方式。

参数

参数名 描述
provider wilddog.auth.Provider类型,特定登录方式的实例

返回值

wilddog.Promise.<wilddog.User>

示例

// 关联微博登录
var provider = new wilddog.auth.WeiboAuthProvider();
wilddog.auth().currentUser
.linkWithRedirect(provider)
.then(function (user) {
console.info("link weibo->", user);
})
.catch(function (err) {
console.info(err);
});

参考

可能发生的错误:

  • authentication_disabled 表示匿名方式没有打开,可以在野狗的控制面板中打开这个选项。



unlink

定义

unlink(providerId)

说明

取消帐户的特定登录方式

参数

参数名 描述
providerId providerId为特定身份提供商。野狗当前支持的各 Provider 的 ID : weibo、weixin、weixinmq、qq 和 password。

返回值

wilddog.Promise.<Void>

示例

// 取消微博登录
wilddog.auth().currentUser
.unlink('weibo')
.then(function () {
console.info("unlink weibo success");
})
.catch(function (err) {
console.info(err);
});



delete

定义

delete()

说明

删除当前用户,删除成功之后会退出登录

返回值

wilddog.Promise.<Void>



updateProfile

定义

updateProfile(profile)

说明

更新用户个人信息。

参数

参数名 描述
profile profile为object的类型,当前仅支持 phototURLdisplayName 参数,这两个参数至少需要有一个不为空。

返回值

wilddog.Promise.<wilddog.User>

示例

wilddog.auth().currentUser
.updateProfile({
'photoURL': photoUrl,
'displayName': displayName,
})
.then(function (user) {
console.info('update user ->', user);
})
.catch(function (err) {
console.info("update user info failed.", err);
});

参考

可能发生的错误:

  • display_name_length_error 更新名称时,名称过长,目前支持名称在20位之内
  • photo_url_length_error 更新头像时,头像链接过长,目前头像链接最多支持1024个字符



updateEmail

定义

updateEmail(email)

说明

修改当前用户的邮箱,修改成功之后会触发 onAuthStateChanged

参数

参数名 描述
email 新邮箱地址。

返回值

wilddog.Promise.<wilddog.User>

参考

可能发生的错误:

  • email_already_in_use 表示该电子邮件已被另一个帐户使用。
  • invalid_email 表示该电子邮件地址格式不正确。
  • credential_too_old_login_again 更新用户电子邮件是一项安全相关操作,需要该用户的最近一次登录。此错误表示该用户近期长时间没有登录过。要解决此错误,调用 reauthenticate(credential),来对该用户重新进行身份认证。



updatePhone

定义

updatePhone(phone)

说明

修改当前用户的手机号,修改成功之后会触发 onAuthStateChanged

参数

参数名 描述
phone 新邮箱地址。

返回值

wilddog.Promise.<wilddog.User>

参考

可能发生的错误:

  • phone_already_in_use 表示该手机号已被另一个帐户使用。
  • invalid_phone 表示该手机号地址格式不正确。
  • credential_too_old_login_again 更新用户手机号是一项安全相关操作,需要该用户的最近一次登录。此错误表示该用户近期长时间没有登录过。要解决此错误,调用 reauthenticate(credential),来对该用户重新进行身份认证。



updatePassword

定义

updatePassword(password)

说明

修改当前用户的密码,修改成功之后会触发 onAuthStateChanged

参数

参数名 描述
password 新密码。

返回值
wilddog.Promise.<wilddog.User>

参考

可能发生的错误:

  • credential_too_old_login_again 更新用户密码是一项安全相关操作,需要该用户的最近一次登录。此错误表示该用户近期长时间没有登录过。要解决此错误,调用 reauthenticate(credential),对该用户重新进行身份认证。



reauthenticate

定义

reauthenticate(credential)

说明

使用 wilddog.auth.Credential 为用户重新认证,某些敏感操作(比如更新用户密码)对用户认证时间有较为严格的要求,这个时候你可以调用这个方法来刷新用户的认证信息。

参数

参数名 描述
credential wilddog.auth.Credential 类型,特定登录方式的认证凭据

返回值

wilddog.Promise.<Void>

示例

// 根据用户邮箱和密码进行重新认证
wilddog.auth().currentUser
.reauthenticate(wilddog.auth.EmailAuthProvider.credential(email, pwd))
.then(function (user) {
console.info("link email.", user);
})
.catch(function (err) {
console.info("link email failed.", err.code, err);
});



sendEmailVerification

为当前用户的邮箱发送确认邮件。

定义

sendEmailVerification()

返回

wilddog.Promise.<Void>



sendPhoneVerification

为当前用户的手机号发送短信获取验证码。

定义

sendPhoneVerification()

返回

wilddog.Promise.<Void>



verifiyPhone

根据验证码确认手机号。

定义

verifiyPhone(code)

参数

参数名 描述
code 用户的手机上收到的验证码。

参考

返回

wilddog.Promise.<Void>

野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题
期待收到你的反馈,帮助我们改进文档。
参与调研