SignInWithCredential を使用してログインするときに Firebase で空の displayName が表示される問題
P粉328911308
P粉328911308 2023-09-04 09:43:01
0
2
566
<p>Google ログインを使用しているのですが、ユーザーは Google アカウントのメールアドレスとパスワードの入力を求められます: </p> <pre class="brush:php;toolbar:false;">const auth = getAuth(app); const userCredentials = awaitsignInWithCredential( 認証、 GoogleAuthProvider.credential(null, トークン) ); console.log(userCredentials.user)</pre> <p><code>email</code>、<code>photoURL</code>、<code>uid</code>、その他の情報を含むユーザー オブジェクトを正常に取得しましたが、<code> displayName</code> が空です。これはバグですか、それとも予期された結果ですか?名前とニックネームを含めて新しい Gmail アカウントを作成しようとしましたが、<code>displayName</code> は空のままでした。 <code>displayName</code> を取得するにはどうすればよいですか? </p>
P粉328911308
P粉328911308

全員に返信(2)
P粉794851975

signInWithCredential から displayName を取得できない問題を「ハッキング」する方法を見つけました。明らかに、前に述べたように、displayName は常に null です。ただし、google_sign_in ライブラリを使用してサインインし、GoogleSignInAccount オブジェクトを検査すると、その表示名が設定されていることがわかります。その後、以前に使用した Google ログイン認証情報を使用して Firebase にログインできます。 私が使用するコードは次のとおりです: リーリー

user 変数には、uid などの firebase 認証と googleSignInAccount In からのすべてのユーザー関連変数が含まれます。表示名を取得します。 これが誰かの役に立てば幸いです!

いいねを押す +0
P粉073857911

デフォルトでは、UserdisplayName 属性は空です。これは、ユーザーが作成時または更新時に displayName を設定したかどうかによって異なります。ただし、デフォルトでは null です。

どこかで displayName を更新したい場合は、次のメソッドを使用できます: updateProfile:

リーリー

Google アカウントに displayName があることは確かだが、それが user.displayName に表示されない場合は、## に渡したものを確認する必要があります。 #GoogleAuthProvider.credential( ) メソッド nullidToken は、有効な idToken も渡していることを確認してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート