LoginSignup
1
0

More than 1 year has passed since last update.

Firebaseを使ってTwitterログイン機能を作る際、モバイルでは挙動がおかしくなった際の対応

Last updated at Posted at 2022-03-30

こちらでは正しく挙動しなかったため、現在修正中。
有識者のアドバイスを求めています

問題

firebaseを利用してtwitterログイン機能を作成した際に、PCでは動作するが、モバイルだとログイン画面に遷移しなかった。
その記事がなかったので、改善方法を記しておきます。

公式ドキュメントをよく見ると、

Twitter プロバイダ オブジェクトを使用して Firebase での認証を行います。ユーザーに Twitter アカウントでログインするよう促すために、ポップアップ ウィンドウを表示するか、ログインページにリダイレクトします。モバイル デバイスではリダイレクトすることをおすすめします。

との記載が。
つまりsignInWithPopupではなく、signInWithRedirectを利用しないといけないです。

結論

methods: {
    twitterSignIn: function () {
      const auth = getAuth();
      let self = this;
      const provider = new TwitterAuthProvider();
      setPersistence(auth,browserLocalPersistence).then(() => {
        signInWithRedirect(auth, provider).then(() => {

          getRedirectResult(auth)
            .then((result) => {
    
              // The signed-in user info.
              const credential = TwitterAuthProvider.credentialFromResult(result);
              const user = result.user;

ただログイン機能を導入するだけであれば、signInWithRedirectだけでも問題ないですが、ログイン後に、そのアカウントのIDなどを取得したい場合はgetRedirectResultを使いましょう。

参考

発信活動

twitter

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0