title: User

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

属性

displayName

定义

  1. nullable string

说明

帐户名称



email

定义

  1. nullable string

说明

帐户主邮箱地址



phone

定义

  1. nullable string

说明

帐户手机号



emailVerified

定义

  1. boolean

说明

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



phoneVerified

定义

  1. boolean

说明

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



isAnonymous

定义

  1. boolean

说明

帐户是否是匿名帐户认证



photoURL

定义

  1. nullable string

说明

帐户照片地址



providerData

定义

  1. non-null Array of wilddog.UserInfo

说明

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

返回值

wilddog.UserInfo



providerId

定义

  1. string

说明

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



uid

定义

  1. string

说明

Wilddog Id



方法

getToken

定义

  1. getToken()

说明

获取当前账户的token


link

定义

  1. link(credential)

说明

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

参数

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

返回值

wilddog.Promise.<wilddog.User>

参考

可能发生的错误:

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



linkWithPopup

定义

  1. linkWithPopup(provider)

参数

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

说明

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

返回值

wilddog.Promise.<wilddog.User>

示例

  1. // 关联微博登录
  2. var provider = new wilddog.auth.WeiboAuthProvider();
  3. wilddog.auth().currentUser
  4. .linkWithPopup(provider)
  5. .then(function (user) {
  6. console.info("link weibo->", user);
  7. })
  8. .catch(function (err) {
  9. console.info(err);
  10. });

描述

可能发生的错误:

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



linkWithRedirect

定义

  1. linkWithRedirect(provider)

说明

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

参数

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

返回值

wilddog.Promise.<wilddog.User>

示例

  1. // 关联微博登录
  2. var provider = new wilddog.auth.WeiboAuthProvider();
  3. wilddog.auth().currentUser
  4. .linkWithRedirect(provider)
  5. .then(function (user) {
  6. console.info("link weibo->", user);
  7. })
  8. .catch(function (err) {
  9. console.info(err);
  10. });

参考

可能发生的错误:

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



unlink

定义

  1. unlink(providerId)

说明

取消帐户的特定登录方式

参数

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

返回值

wilddog.Promise.<Void>

示例

  1. // 取消微博登录
  2. wilddog.auth().currentUser
  3. .unlink('weibo')
  4. .then(function () {
  5. console.info("unlink weibo success");
  6. })
  7. .catch(function (err) {
  8. console.info(err);
  9. });



delete

定义

  1. delete()

说明

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

返回值

wilddog.Promise.<Void>



updateProfile

定义

  1. updateProfile(profile)

说明

更新用户个人信息。

参数

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

返回值

wilddog.Promise.<wilddog.User>

示例

  1. wilddog.auth().currentUser
  2. .updateProfile({
  3. 'photoURL': photoUrl,
  4. 'displayName': displayName,
  5. })
  6. .then(function (user) {
  7. console.info('update user ->', user);
  8. })
  9. .catch(function (err) {
  10. console.info("update user info failed.", err);
  11. });

参考

可能发生的错误:

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



updateEmail

定义

  1. updateEmail(email)

说明

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

参数

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

返回值

wilddog.Promise.<wilddog.User>

参考

可能发生的错误:

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



updatePhone

定义

  1. updatePhone(phone)

说明

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

参数

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

返回值

wilddog.Promise.<wilddog.User>

参考

可能发生的错误:

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



updatePassword

定义

  1. updatePassword(password)

说明

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

参数

参数名 描述
password 新密码。

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

参考

可能发生的错误:

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



reauthenticate

定义

  1. reauthenticate(credential)

说明

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

参数

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

返回值

wilddog.Promise.<Void>

示例

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



sendEmailVerification

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

定义

sendEmailVerification()

返回

wilddog.Promise.<Void>



sendPhoneVerification

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

定义

sendPhoneVerification()

返回

wilddog.Promise.<Void>



verifiyPhone

根据验证码确认手机号。

定义

verifiyPhone(code)

参数

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

参考

返回

wilddog.Promise.<Void>