title: Auth
wilddog.Auth 对象负责用户认证及密码找回等功能,它不能直接创建,只能通过 wilddog.App 实例的 auth 方法获得。
属性
currentUser
定义
(wilddog.User or null)
返回值
说明
同步的获取当前缓存的用户,如果没有登录用户则为 null。
注意
currentUser 在身份认证完成前为 null ,必要时(如:刷新页面后立即调用 currentUser 等情况)需要配合 onAuthStateChanged()使用,在回调中调用 currentUser 。
wilddog.auth().onAuthStateChanged(function(user){console.log(wilddog.auth().currentUser);})
方法
onAuthStateChanged
定义
onAuthStateChanged(callback)
说明
监听用户的状态。
参数
| 参数名 | 描述 |
|---|---|
| callback | 定义为function(user),auth 状态变为登录状态时传回 user 对象,auth 状态变为登出时返回值为 null。 |
示例
// 开始监听var stopListen = wilddog.auth().onAuthStateChanged(function (user) {console.info("auth state changed ->",user);});// 停止监听stopListen();
createUserWithEmailAndPassword
定义
createUserWithEmailAndPassword(email, password)
说明
创建一个新用户,创建成功后会自动登录。
参数
| 参数名 | 描述 |
|---|---|
| 用户的邮箱地址。 | |
| password | 用户指定的密码。 |
返回值
wilddog.User 对象
参考
可能发生的错误:
- invalid_email 表示邮箱格式错误。
- email_already_in_use 表示邮箱已经被注册。
- authentication_disabled 表示邮箱登录方式没有打开,可以在野狗的控制面板中打开这个选项。
- invalid_password 密码不符合规定。
- 参考 错误码 查看调用时可能发生的所有错误。
createUserWithPhoneAndPassword
定义
createUserWithPhoneAndPassword(phone, password)
说明
创建一个新用户,创建成功后会自动登录。
参数
| 参数名 | 描述 |
|---|---|
| phone | 用户的手机号。 |
| password | 用户指定的密码。 |
返回值
wilddog.User 对象
参考
可能发生的错误:
- invalid_phone 表示手机号格式错误。
- phone_already_in_use 表示手机号已经被注册。
- authentication_disabled 表示手机号登录方式没有打开,可以在野狗的控制面板中打开这个选项。
- invalid_password 密码不符合规定。
- 参考错误码 查看调用时可能发生的所有错误。
signInAnonymously
定义
signInAnonymously()
说明
匿名登录方式。
描述
可能发生的错误:
- authentication_disabled 表示匿名方式没有打开,可以在野狗的控制面板中打开这个选项。
signInWithEmailAndPassword
定义
wilddog.auth().signInWithEmailAndPassword(email, password)
说明
以邮箱和密码的方式登录。
参数
| 参数名 | 描述 |
|---|---|
| 用户的邮箱地址。 | |
| password | 用户指定的密码。 |
参考
可能发生的错误:
- invalid_email 表示邮箱格式错误。
- email_already_in_use 表示邮箱已经被注册。
- authentication_disabled 表示邮箱登录方式没有打开,可以在野狗的控制面板中打开这个选项。
- invalid_password 密码不符合规定。
- 参考 错误码 查看调用时可能发生的所有错误。
signInWithPhoneAndPassword
定义
wilddog.auth().signInWithPhoneAndPassword(phone, password)
说明
以手机号和密码的方式登录。
参数
| 参数名 | 描述 |
|---|---|
| phone | 用户的手机号。 |
| password | 用户指定的密码。 |
参考
可能发生的错误:
- invalid_phone 表示手机号格式错误。
- phone_already_in_use 表示手机已经被注册。
- authentication_disabled 表示手机登录方式没有打开,可以在野狗的控制面板中打开这个选项。
- invalid_password 密码不符合规定。
- 参考 错误码 查看调用时可能发生的所有错误。
signInWithPopup
定义
signInWithPopup(provider)
说明
通过弹出窗口的方式进行 OAuth 登录。
参数
| 参数名 | 描述 |
|---|---|
| provider | provider为特定身份提供商实例。 |
参考
//微博登录var weiboProvider = new wilddog.auth.WeiboAuthProvider();wilddog.auth().signInWithPopup(weiboProvider).then(function () {console.info("login success", wilddog.auth().currentUser)}).catch(function(err){console.info("login failed", err)});
参考
使用第三方认证方式进行 Popup 登录。
可能发生的错误:
- authentication_disabled 表示 Oauth 登录方式没有打开,可以在野狗的控制面板中打开这个选项。
- 参考错误码 查看调用时可能发生的所有错误。
signInWithRedirect
定义
signInWithRedirect(provider)
说明
通过浏览器跳转的方式进行 OAuth 登录。
参数
| 参数名 | 描述 |
|---|---|
| provider | provider 为特定身份提供商实例。 |
示例
//微博登录var weiboProvider = new wilddog.auth.WeiboAuthProvider();wilddog.auth().signInWithRedirect(weiboProvider).then(function () {console.info("login success", wilddog.auth().currentUser)}).catch(function(err){console.info("login failed", err)});
参考
可能发生的错误:
- authentication_disabled 表示 Oauth 登录方式没有打开,可以在野狗的控制面板中打开这个选项。
- 参考错误码 查看调用时可能发生的所有错误。
注意:
signInWithRedirect登录成功后,页面会重新加载并执行 js 代码,因此需要配合onAuthStateChanged使用,避免signInWithRedirect的重复调用。详情请参考完整指南
signInWithCustomToken
定义
signInWithCustomToken(token)
说明
以自定义 token 的方式登录。
参数
| 参数名 | 描述 |
|---|---|
| token | 自定义的 token。 |
示例
wilddog.auth().signInWithCustomToken(token).then(function () {console.info("login success", wilddog.auth().currentUser)}).catch(function(err){console.info("login failed", err)});
参考
可能发生的错误:
- invalid_token 无效的 custom token。
- 参考错误码 查看调用时可能发生的所有错误。
signInWithCredential
定义
signInWithCredential(credential)
说明
使用第三方认证方式登录(e.g. 新浪微博,qq,weixin 授权后使用它们的 Access Token 和 openId 在野狗服务器上生成用户)
参数
| 参数名 | 描述 |
|---|---|
| credential | wilddog.auth.Credential 第三方提供的凭证。 |
示例
// 凭借已经获取到的微博 accessToken 来登录var credential = wilddog.auth.WeiboAuthProvider.credential(accessToken);wilddog.auth().signInWithCredential(credential).then(function(user){console.info('login success', user);}).catch(function(err){console.info('login failed', err);});
参考
可能发生的错误:
- authentication_disabled 表示这种登录方式没有打开,可以在野狗控制面板中打开这个选项。
- invalid_email 表示邮箱错误。
- invalid_password 表示密码错误。
- 参考 错误码 查看调用时可能发生的所有错误。
sendPasswordResetEmail
定义
sendPasswordResetEmail(email)
说明
通过邮箱找回密码。
参数
| 参数名 | 描述 |
|---|---|
| string 类型,用户的邮箱地址。 |
参考
可能发生的错误:
- invalid_email 表示邮箱错误。
- 参考 错误码 查看调用时可能发生的所有错误。
sendPasswordResetSms
定义
sendPasswordResetSms(phone)
说明
通过手机找回密码。
参数
| 参数名 | 描述 |
|---|---|
| phone | string 类型,用户的手机号。 |
参考
可能发生的错误:
- invalid_phone 表示手机号错误。
- 参考 错误码 查看调用时可能发生的所有错误。
signOut
定义
signOut()
说明
退出登录。
返回值
confirmPasswordResetSms
定义
confirmPasswordResetSms(phone, code, newPassword)
说明
根据手机号和收到的验证码重置密码。
参数
| 参数名 | 描述 |
|---|---|
| phone | string 类型,用户的手机号。 |
| code | string 类型,用户的收到的验证码。 |
| newPassword | string 类型,新密码。 |
参考
返回值
