title: 绑定多种登录方式

本篇文档介绍在 Wilddog Auth 中如何给同一个帐号绑定多种登录方式。

前期准备

  1. 在控制面板 身份认证—登录方式 中打开需要绑定的登录方式。
  2. 配置需要绑定的登录方式。具体配置方法请参考对应文档。

实现绑定多种登录方式

绑定邮箱登录方式

绑定邮箱登录方式需要以下三个步骤:

1.以任意一种登录方式登录一个帐号。

2.获取邮箱登录方式的 credential。

  1. var credentialEmail = wilddog.auth.EmailAuthProvider.credential("12345678@wilddog.com", "password123");

3.使用邮箱登录方式绑定。

  1. var user = wilddog.auth().currentUser;
  2. user.link(credentialEmail).then(function (user) {
  3. console.log("Account linking1 success", user);
  4. }).catch(function (error) {
  5. console.log("Account linking1 error", error);
  6. });

绑定第三方登录方式

绑定第三方登录方式需要以下三个步骤:

1.以任意一种登录方式登录一个帐号。

2.获取需要绑定登录方式的 provider。

  1. // QQ 登录
  2. var provider = new wilddog.auth.QQAuthProvider();
  3. // 微博登录
  4. var provider = new wilddog.auth.WeiboProvider();
  5. // 微信登录
  6. var provider = new wilddog.auth.WeixinAuthProvider();
  7. // 微信公众帐号登录
  8. var provider = new wilddog.auth.WeixinmpAuthProvider();

3.使用第三方登录方式绑定。

例如,使用 linkWithPopup 进行绑定:

  1. wilddog.auth().currentUser.linkWithPopup(provider).then(function (result) {
  2. console.log(result);
  3. }).catch(function (error) {
  4. // 错误处理
  5. console.log(errorCode);
  6. // ...
  7. });

更多登录绑定方式,请参考 API 文档

注意:

若使用 customToken 登录时,若 customToken 中 admin 属性为 true,则不能进行关联操作。

解除已绑定登录方式

unlink() 方法用于解除已绑定登录方式。

例如,解除微信绑定:

  1. var user = wilddog.auth().currentUser;
  2. user.unlink("weixin").then(function () {
  3. console.log("unlink")
  4. console.log(provider);
  5. }).catch(function (error) {
  6. console.log(error);
  7. });