2017-08-28 60 views

回答

1

你需要做以下步骤:

Activate Phone Number Authentication in your Firebase Console. 
Set up reCAPTCHA verifier. 
Send the SMS 
Sign the user in. 

的.html

<ion-content padding> 
    <div id="recaptcha-container"></div> 

    <ion-item> 
    <ion-label stacked>Phone Number</ion-label> 
    <ion-input type="number" [(ngModel)]="phoneNumber"></ion-input> 
    </ion-item> 

    <button ion-button id="sign-in-button" (click)="signIn(phoneNumber)"> 
    Sign In 
    </button> 

</ion-content> 

.TS

signIn(phoneNumber: number){ 
    const appVerifier = this.recaptchaVerifier; 
    const phoneNumberString = "+" + phoneNumber; 
    firebase.auth().signInWithPhoneNumber(phoneNumberString, appVerifier) 
    .then(confirmationResult => { 
     // SMS sent. Prompt user to type the code from the message, then sign the 
     // user in with confirmationResult.confirm(code). 
     let prompt = this.alertCtrl.create({ 
     title: 'Enter the Confirmation code', 
     inputs: [{ name: 'confirmationCode', placeholder: 'Confirmation Code' }], 
     buttons: [ 
     { text: 'Cancel', 
      handler: data => { console.log('Cancel clicked'); } 
     }, 
     { text: 'Send', 
      handler: data => { 
      confirmationResult.confirm(data.confirmationCode) 
      .then(function (result) { 
       // User signed in successfully. 
       console.log(result.user); 
       // ... 
      }).catch(function (error) { 
       // User couldn't sign in (bad verification code?) 
       // ... 
      }); 
      } 
     } 
     ] 
    }); 
    prompt.present(); 
    }) 
    .catch(function (error) { 
    console.error("SMS not sent", error); 
    }); 

} 

这里是Great article about it。我从上面的代码中提取这是rticle。

Offical doc

+0

谢谢ypu @Sampath。我会试试 – user8528238

+0

确定没问题:) – Sampath

+0

它给了我这个错误(错误:./node_modules/firebase/utils/promise.js)Iwiil尝试修复它,但如果你有任何想法... – user8528238

相关问题