> 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と接続していないにもかかわらず同じメールアドレスを持っているということになります。
一度、上記を試していただけますでしょうか?