首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase实现google和facebook在同一页面上登录

Firebase实现google和facebook在同一页面上登录
EN

Stack Overflow用户
提问于 2017-10-18 19:37:33
回答 4查看 158关注 0票数 2

我正在尝试实现谷歌和facebook注册在同一个页面,但我无法做到这一点,我做了很多谷歌,但找不到答案。

谁能提供我的谷歌和facebook的注册在同一页实施的样本?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-12-02 18:07:35

我推荐使用FirebaseUI。你可以参考https://github.com/firebase/firebaseui-web/tree/master/demo/,它可以为你处理所有的边缘情况,同时使用起来也很简单。

还要检查Firebase仪表板的身份验证设置,因为有这样的情况,例如,你用谷歌登录,然后用Facebook登录,两者都使用相同的电子邮件。帐户链接将需要合并这两个帐户。

票数 1
EN

Stack Overflow用户

发布于 2017-10-18 19:48:38

这是我们几个月前解决的复杂问题。你必须根据人们注册的不同凭证来合并你的账户。您可以将从Google/Facebook获得的凭据与已登录的帐户合并。如果您不打算提供除Google/Facebook之外的任何其他登录选择,只有一个选项可以做到这一点:允许多个帐户从控制台使用相同的电子邮件地址。

票数 2
EN

Stack Overflow用户

发布于 2017-10-18 19:48:55

此示例适用于Angular/Ionic。HTML中需要两个按钮:

代码语言:javascript
复制
<button ion-button outline (click)="loginWithFacebook()">
    <svg ngClass="svgIcon-use" width="25" height="25" viewBox="0 0 25 25">
      <path d="M21 12.646C21 7.65 16.97 3.6 12 3.6s-9 4.05-9 9.046a9.026 9.026 0 0 0 7.59 8.924v-6.376H8.395V12.64h2.193v-1.88c0-2.186 1.328-3.375 3.267-3.375.93 0 1.728.07 1.96.1V9.77H14.47c-1.055 0-1.26.503-1.26 1.242v1.63h2.517l-.33 2.554H13.21V21.6c4.398-.597 7.79-4.373 7.79-8.954"></path>
    </svg>
  Facebook
</button>

<button ion-button outline (click)="loginWithGoogle()">
    <svg ngClass="svgIcon-use" width="25" height="25" viewBox="0 0 25 25">
      <g fill="none" fill-rule="evenodd">
        <path d="M20.66 12.693c0-.603-.054-1.182-.155-1.738H12.5v3.287h4.575a3.91 3.91 0 0 1-1.697 2.566v2.133h2.747c1.608-1.48 2.535-3.65 2.535-6.24z"
          fill="#4285F4"></path>
        <path d="M12.5 21c2.295 0 4.22-.76 5.625-2.06l-2.747-2.132c-.76.51-1.734.81-2.878.81-2.214 0-4.088-1.494-4.756-3.503h-2.84v2.202A8.498 8.498 0 0 0 12.5 21z"
          fill="#34A853"></path>
        <path d="M7.744 14.115c-.17-.51-.267-1.055-.267-1.615s.097-1.105.267-1.615V8.683h-2.84A8.488 8.488 0 0 0 4 12.5c0 1.372.328 2.67.904 3.817l2.84-2.202z"
          fill="#FBBC05"></path>
        <path d="M12.5 7.38c1.248 0 2.368.43 3.25 1.272l2.437-2.438C16.715 4.842 14.79 4 12.5 4a8.497 8.497 0 0 0-7.596 4.683l2.84 2.202c.668-2.01 2.542-3.504 4.756-3.504z"
          fill="#EA4335"></path>
      </g>
    </svg>
  Google
</button>

Login.ts

代码语言:javascript
复制
loginWithFacebook(): void {
    this.afAuth.auth.signInWithPopup(new firebase.auth.FacebookAuthProvider())
        .then(_ => this.navCtrl.setRoot('HomePage'))
        .catch(error => alert(error));
}

loginWithGoogle(): void {
    let provider = new firebase.auth.GoogleAuthProvider();
    provider.addScope('https://www.googleapis.com/auth/plus.login');
    return this.afAuth.auth.signInWithPopup(provider)
        .then(_ => this.navCtrl.setRoot('HomePage'))
        .catch((error) => alert(error));

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46809271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档