2016-08-23 17 views
1

私のAngular App上でAuth0に奇妙な問題があります。ユーザーが電子メールアカウントに送信されたリンクを介して電子メールを確認した後、auth.profile.email_verifiedは一貫して「真実」の値を指していません。時にはtrueですが、時にはfalseです。 console.log(auth)と「プロファイル」キーをドリルすると、は常にtrueになりますが、console.log(auth.profile)の場合はそうではありません。私はドキュメントを見渡しましたが、その問題に対する答えは見つかりませんでした。私がauth.getProfile()を使用する場合、私はいつも約束の中でprofile.email_verified : trueを得ますが、私はその約束に頼ってemail_verifiedの値をチェックしたくありません。 auth.profile.email_verifiedは、私がログアウトし、再度ログインした後にのみ、一貫truthy値を指して起動しますここ角度Auth0 email_verified問題

答えて

1

Auth0エンジニア、

問題は、以下の3例が原因で発生し

:。

  1. ユーザーがログインアカウントを確認し、パスワードなしの電子メールプロバイダで表示するソーシャルプロバイダと連携します。プロファイルにemail_verifiedtrueと表示されます。
  2. ユーザーが電子メール/パスワードまたはソーシャルプロバイダー(電子メールが確認されていない)でログインしました。プロファイルはemail_verifiedとしてfalseと表示されます。
  3. ユーザーは、アプリケーションを受け取り、その電子メールを承認しました。プロファイルは常にemail_verifiedtrueとして返します。

あなたのアプリケーションでは、すべてのケースを処理するために、これをより適切に処理する必要があり、検証が完了した後でプロファイルを取得する必要があります。

+1

電子メールが確認されて取得されると、「私たち自身の」ユーザープロフィールに 'email-verified:true'を保存することで、仕事を得ました。 auth0から何度もフェッチするのではなく、そのキーの値を読み取ることができます。どうもありがとう。 –