#前提
使用言語:vue.js、firebase
開発環境:vueCLI
#再認証機能とは
firebaseのAuthenticationに登録されている自分のユーザー情報を更新・変更するときにパスワードを入力して、以前に設定したパスワードと合致すればユーザー情報を更新・変更できるというもの。
ちなみにconsole.logによる開発ツールでパスワードを確認することはできない。
#コードは以下の通り
EmailAuthProvider.credentia()に自分で入力したメールアドレスとパスワードを引数として渡す。
EmailAuthProvider を使って認証情報を発行し、reauthenticateAndRetrieveDataWithCredentialで再認証。
main.vue
const user = firebase.auth().currentUser
const credential = firebase.auth.EmailAuthProvider.credential("email", "password")
user.reauthenticateWithCredential(credential)
#実装例
テキストフォームに入力したpasswordをv-modelでcredential()に渡すことで、再認証の処理が開始される。
ユーザー再認証→ パスワード合致OK→ メールアドレス変更処理 という流れで処理される。
data(){
return {
password: "
}
},
methods: {
onReAuth(){
//ユーザー再認証
const user = firebase.auth().currentUser
const credential = firebase.auth.EmailAuthProvider.credential(user.email, this.password)
user.reauthenticateWithCredential(credential)
.then(()=> {
console.log("再認証完了")
})
//メールアドレス更新
.then(() =>{
const user = firebase.auth().currentUser
user.updateEmail(this.email).then(()=> {
console.log("メールアドレス更新完了")
})
.catch((error)=> {
console.log(error)
})
})
}
}
<v-text-field
v-model="password">
</v-text-field>