• Resolved satoshi

    (@pottiri)


    2.2.7から3.0.4にあげて、2.2.7の頃に既にFacebookとの連携済みのユーザでログインしようとすると
    「おや、認証できませんでした。このFacebookアカウントはすでに別のアカウントに接続されています。」
    というエラーになります。
    2.2.7の頃に既にFacebookとの連携済みのユーザでログインすることはできないのでしょうか?
    (ID周りの仕様が大幅に変わっているのでしょうか。)
    何か回避策はありませんか?

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author Takahashi Fumiki

    (@takahashi_fumiki)

    > 2.2.7の頃に既にFacebookとの連携済みのユーザでログインすることはできないのでしょうか?

    できるはずなのですが……なんででしょう? ID周りの使用は変更していません。

    その部分の判定処理としては、次のようになります。

    – Facebookで認証してWordPressに戻ってくると、Facebookの情報をGianismが取得できるようになる。
    – まず、FacebookのIDと紐づいたユーザーがいるかどうか確認。存在すれば、そのユーザーとしてログインさせる。
    – ユーザーが存在せず、登録が許可されている場合は新規ユーザーとして登録を試みる(今回のケースはここに該当します)
    – まず、Facebookでメールアドレスが登録されているかを確認します。(今回のケースでは、メールアドレスが取れているので、該当しません)
    – 続いて、そのメールアドレスをユーザーのアドレスとして登録を試みます。ただし、メールアドレスが他のユーザーと重複していることはWordPressの仕様上許されないので、そのメールアドレスのユーザーが存在しないかどうかをチェックします。ここで存在していた場合、上記のエラー「おや、認証できませんでした。このFacebookアカウントはすでに別のアカウントに接続されています。」が発生します。

    上記を整理すると、バグでない限り、以下のことが言えます。

    1. Facebookと連携しているユーザーは存在しない。または、一度連携していたが、連携を解除してしまった。
    2. もしくは、Facebookのアカウントが変更された(または、そのメールアドレスが変更された)

    上記を確認するために、以下の情報をチェックしてみてください。

    @pottiri さんが「Facebookと連携していたはず」と思っているユーザーのIDを10とします。
    phpMyAdminなどを使い、データベース上で次のクエリを発行してみてください。wp_はテーブル接頭辞なので、変わる可能性があります。

    SELECT * FROM wp_usermeta WHERE user_id = 10 AND meta_key = '_wpg_facebook_id'
    

    これでデータがヒットしなければ、「ID 10のユーザーはFacebookと連携していない」ということが確定となります。

    続いて、Facebookに登録しているメールアドレスを [email protected] とします。このアドレスを使ってWordPressの管理画面でユーザー一覧に検索をかけてください。もしヒットした場合、このユーザーはFacebookと接続していないにもかかわらず同じメールアドレスを持っているということになります。

    一度、上記を試していただけますでしょうか?

    Thread Starter satoshi

    (@pottiri)

    回答ありがとうございます。

    SQLを実行したところデータがヒットしませんでした。
    また、WordPressの管理画面でユーザー一覧に検索をかけてヒットしました。
    ここで気づいたのですが、3.0.4を入れる時2.2.7を一旦削除して3.0.4を入れていました。
    削除によってwp_usermetaの_wpg_のデータが全部消えたので連携していないことになっているのですね。
    なぜか削除は設定だけ消えると思い込んでいました。
    お騒がせして申し訳ありません。

    ちなみにこれはwp_usermetaの_wpg_のデータだけ復活させれば認証できるようになるものでしょうか。

    Plugin Author Takahashi Fumiki

    (@takahashi_fumiki)

    プラグインの無効化はデータ消えませんが、管理画面から削除するとデータが消えます。これは他のプラグインもそういうものが多いです。

    もしユーザーメタを復旧できれば、それで動くと思われます。

    Thread Starter satoshi

    (@pottiri)

    ありがとうございます。

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘2.2.7から3.0.4にあげたところFacebookでログインエラーになりました’ is closed to new replies.