# 账户关联

每个云开发用户账号,除了最初注册时使用的登录方式外,还可以关联其它登录方式。关联后,无论用户使用哪种登录方式,均可以登录到同一个云开发账户。

例如:

  1. 使用自定义登录的用户,可以关联微信登录,关联后便可以使用这两种方法的任意一种登录。
  2. 使用匿名登录的用户,可以关联自定义登录与微信登录,关联后账号会被转为正式用户,可以使用任一种方法登录云开发。

# 关联微信登录

关联微信登录的步骤如下:

  1. 用户以任意一种登录方式(除微信登录)登录云开发

  2. 获取 Provider

const auth = app.auth();
const provider = auth.weixinAuthProvider({
    appid: '....',
    scope: "snsapi_base"
});
  1. 重定向到提供方的页面进行登录
auth.currentUser.linkWithRedirect(provider);
  1. 用户在微信的页面登录之后,会被重定向回您的页面。然后,可以在页面加载时通过调用 Provider.getLinkRedirectResult() 来获取关联结果:
const provider = auth.weixinAuthProvider();

provider.getLinkRedirectResult().then(result => {
    // 关联成功
})

# 关联自定义登录

关联自定义登录的步骤如下:

  1. 用户以任意一种登录方式(除自定义登录)登录云开发
  2. 使用 User.linkWithTicket获取自定义登录 Ticket 后,关联自定义用户:
const auth = app.auth();
const ticket = '......' // 自定义登录 Ticket
auth.currentUser.linkWithTicket(ticket).then(result => {
    // 关联成功
})