2017-10-18 1 views

답변

0

이것은 몇 달 전에 해결 한 복잡한 문제입니다. 사람들이 등록한 다른 자격 증명에 따라 계정을 병합해야합니다. 이미 로그인 한 계정으로 Google/Facebook에서 가져온 자격 증명을 병합 할 수 있습니다. Google/Facebook을 제외하고 다른 옵션을 제공하지 않는다면 콘솔에서 동일한 이메일 주소로 여러 계정을 허용 할 수 있습니다.

+0

이봐, 난이 인증 공급자를 연결하지만 HTTP 같은 페이지에 내가 그들에게 unclicable 당신이 링크에서 그것을 확인할 수 있습니다 발견 구현 한 후이를 사용하지 않으 /iitm.000webhostapp.com/login.php –

+0

내 코드 http://iitm.000webhostapp.com/123.txt –

+0

하나의 공급자 만 구현하려 했습니까? 너에게 효과가 있었 니? 그렇다면 로그인 할 때 사용할 함수를 생각해보십시오. 이제 동일한 이름 함수가 두 개 있습니다. – iiylll

0

이 예제는 각도/이온과 함께 작동합니다. 내가 FirebaseUI를 사용하는 것이 좋습니다

<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

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)); 

} 
+0

두 개의 다른 계정에 로그인하지 않으셨습니까? – iiylll

+0

웹 사이트에서 구현하고 싶습니다. 각도/아이콘을 사용할 수 있습니다. –

+0

이것은 단지 예일 뿐이지 만 각도로 구현할 수 있습니다. –

0

: 당신은 HTML에서 두 개의 버튼이 필요합니다. 그것은 당신을위한 모든 가장자리 사건을 돌보고 사용하는 것은 간단합니다. 예를 들어 Google에 로그인 한 다음 동일한 이메일을 사용하여 Facebook으로 로그인하는 경우가 있습니다. 두 계정을 병합하려면 계정 연결이 필요합니다./: 당신은 안드로이드에있는 경우