2

登録ページでは、ユーザーが自分のデータにアクセスできるようにFacebookで私のウェブサイトにログインさせることで、ほとんどのフィールドに入力するオプションをユーザーに提供しています。その後、他のフィールドに入力してから登録する必要がありますWebサイト。

ログインページでは、ユーザーはユーザー名とパスワードでログインするか、以前に登録した Facebook アカウントでログインするかを選択できます。

ログインページには、次のコードがあります。

if ($user){
    try {
        $loggedin= true;
        $user_profile = $facebook->api('/me','GET');

        $login_url = $facebook->getLoginUrl(
                                  array(
                                    'scope' => 'publish_stream,read_friendlists,email'
                                  )
                            );

        if(email_exists($user_profile['email'])){
            $user = get_user_by('email', $user_profile['email']);
            wp_set_auth_cookie( $user->id );
            wp_redirect( site_url() ); exit;
        }else{
            wp_redirect( site_url('/register/') ); exit;
        }

    } catch (FacebookApiException $e) {
        $login_url = $facebook->getLoginUrl(
                                  array(
                                    'scope' => 'publish_stream,read_friendlists,email'
                                  )
                            ); 
        $loggedin= false;
        error_log($e->getType());
        error_log($e->getMessage());
    }
}else{
    $login_url = $facebook->getLoginUrl(
                                  array(
                                    'scope' => 'publish_stream,read_friendlists,email'
                                  )
                            );
    $loggedin= false;
}

したがって、ユーザーが facebook でログインしている場合、コードはそのユーザーがメンバーであるかどうかをチェックし、メンバーである場合は認証され、ホームページにリダイレクトされます。メールが存在しない場合は、登録ページにリダイレクトされます。

問題は、ユーザーが登録ページで facebook を使用してログインした場合、ログイン ページのコードがそのユーザーをログイン ユーザーとして認識し、そのユーザーがメンバーの場合はアクセスを許可し、メンバーでない場合はリダイレクトすることです。ユーザーは別のアカウントでログインしたいですか?

私がする必要があるのは、ログイン ページでアクセス トークンを終了して、Facebook アカウントで再ログインできるようにすることです。それは可能ですか?

4

1 に答える 1

3

このページを読むhttp://developers.facebook.com/docs/authentication/

ユーザーを Facebook からログアウトする

ユーザーをhttps://www.facebook.com/logout.php?next=YOUR_REDIRECT_URL&access_token=USER_ACCESS_TOKENにリダイレクトすることで、Facebook からユーザーをプログラムでログアウトできます 。

次のパラメーターで指定する URL は、アプリの設定で定義されているアプリケーションと同じベース ドメインを持つ URL である必要があります。

を呼び出すことにより、Javascript SDK を使用してクライアント側で Facebook からユーザーをログアウトすることもできますFB.logout()

于 2012-08-26T13:16:30.243 に答える