私はマニュアルを読んだだけですが、ユーザーをログアウトする方法は述べていません。私の問題は、次のようになります。OAuthサーバー側を使用してFacebookログアウト
Facebook JS SDK FB.logout() doesn't terminate user session
しかし、私はサーバーサイドフローを使用しています。私は、クッキーを削除するとユーザーをログアウトするので無効にするクッキーの名前を知る必要があると思いますか?
は、ここで私は、私が変更されている可能性がクッキーの名前を知っていると仮定どこログアウト私です:
class FBLogoutHandler(webapp2.RequestHandler):
csrf_protect = False
def get(self):
logging.debug('in fblogout')
current_user = main.get_user_from_cookie(self.request.cookies,
facebookconf.FACEBOOK_APP_ID,
facebookconf.FACEBOOK_APP_SECRET)
if current_user:
graph = main.GraphAPI(current_user['access_token'])
profile = graph.get_object('me')
accessed_token = current_user['access_token']
logging.debug('setting cookie')
self.set_cookie('fbsr_' + facebookconf.FACEBOOK_APP_ID, None,
expires=time.time() - 86400)
self.redirect('https://www.facebook.com/logout.php?next=http://www.koolbusiness.com/fbredirect&access_token=%s'
% accessed_token)
def set_cookie(
self,
name,
value,
expires=None,
):
if value is None:
value = 'deleted'
expires = datetime.timedelta(minutes=-50000)
jar = Cookie.SimpleCookie()
jar[name] = value
jar[name]['path'] = '/'
if expires:
if isinstance(expires, datetime.timedelta):
expires = datetime.datetime.now() + expires
if isinstance(expires, datetime.datetime):
expires = expires.strftime('%a, %d %b %Y %H:%M:%S')
jar[name]['expires'] = expires
self.response.headers.add_header(*jar.output().split(': ', 1))
よろしくお願いします。私のアプリからユーザーをログアウトすることは、私がしたいことです。 –
[Facebookのプラットフォームポリシー](http://developers.facebook.com/policy/)に違反しているため、これは答えにはなりません:Item I 6は、「あなたのウェブサイトには明示的な「ログアウト」オプションが必要ですユーザーをFacebookからログアウトします。 –
OPはサーバー側のログアウトを要求しています。 Afaik Facebookはクライアントサイドのjavascriptログアウトのみを提供しています:http://stackoverflow.com/questions/658027/logout-with-facebook –