お世話になっております。
GIANISMのプラグインで質問をしようとしたら同じような質問をされている方がいらっしゃったのでこちらに質問を投稿させていただきます。
現在GIANISMを使用してソーシャルログインを実装しようとしていますが、Facebookログインのみうまくいきません。
いろいろ検証した結果、一部のアカウントでログインできることはわかりそのアカウントが英語名でしたのでhyo-yoさんと同じような症状だと考えております。
お時間あるときでかまいませんのでアドバイスいただけると幸いです
こちらが製作中のサイトになりますのでご参考ください
http://link-and-agent.com/
三田勇人
こんばんは。お世話になっております。
上述の件ですが、FACEBOOKのユーザーIDの取得を、メールアドレスを代入することで解決いたしました。
お世話になりました。
Thread Starter
hyo-yo
(@hyo-yo)
>Yuto Mita さん
>上述の件ですが、FACEBOOKのユーザーIDの取得を、メールアドレスを代入することで解決いたしました。
上記ですが、フック等で解決されたのでしょうか。
Gianismの設定画面にあるような「wpg_connect」のタイミングで、ユーザーIDをメールアドレスに変更する等は私も行っているのですが、
その処理にたどり着く前の #post-5852371 のコードの部分でエラーを出してしまうようです。
もし可能であれば、対応方法をご連絡頂けますと幸いです。
ご検討のほど、どうぞよろしくお願い致します。
gianism app service facebook.php 192行目あたりに、ユーザー登録を扱う処理があると思うのですが、そこを以下のように書き換えたところ、無事動くようになりました。 変更点は、$user_name = $user_idのようなところを、下記のようにすべてfacebookIDで統一いたしました。 その先の処理は、まだしっかりと調べていないので、もしかしたら不具合がでるかもしれません。 宜しくお願い致します。
//Not found, Create New User
require_once(ABSPATH . WPINC . ‘/registration.php’);
//Get Username
if( isset($profile[‘username’]) && !username_exists($profile[‘username’])){
//if set, use username. but this is optional setting.
$user_name = ‘fb-‘.$facebook_id;
}elseif( isset($profile[‘name’]) && ($safe_name = sanitize_user($profile[‘name’])) && !username_exists($safe_name) ){
//If name is alpabetical, use it.
$user_name = ‘fb-‘.$facebook_id;
}else{
//There is no available string for login name, so use Facebook id for login.
$user_name = ‘fb-‘.$facebook_id;
}
Thread Starter
hyo-yo
(@hyo-yo)
> uto Mita さん
ご連絡誠に有り難うございます。
やはり、プラグインの上記部分を書き換えるしかないですよね・・・
可能であればフックで解決したかったのですが、現時点では難しいようですね。
拝見しました。
一応、名前が使えないときは ‘fb-‘.$facebook_id ということで、Facebook IDとfb-を組み合せたものになるようにしていたのでうすが、処理が漏れてしまっているようです。
次のリリースで修正します。
Thread Starter
hyo-yo
(@hyo-yo)
> Takahashi Fumiki さん
修正をご対応頂けるとのこと、誠にありがとうございます。
引き続きご対応の程、どうぞよろしくお願い致します。
Thread Starter
hyo-yo
(@hyo-yo)
全角ユーザーも登録できることを確認致しました。
ご対応誠にありがとうございました!