0
def create
  auth = request.env["omniauth.auth"]
  user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
  session[:user_id] = user.id
  redirect_to root_url, :notice => "Signed in!"
end

def destroy
  session[:user_id] = nil
  redirect_to root_url, :notice => "Signed out!"
end

application.html.erb 内

<%= link_to "Sign out", sessions_destroy_path, :method => :delete %>

ここでは、devise と omniauth 認証を使用しました。

上記の create メソッドは、User テーブルに新しい Twitter ユーザーまたは Facebook ユーザーを作成します。destroy メソッドは、サインインしているユーザーのセッションを破棄しますが、twitter または facebook アカウントからサインアウトしていません。

サインアウトの呼び出し時に、Twitter または Facebook アカウントからサインアウトする必要があります。どうすればいいですか?

4

1 に答える 1

0

Facebook のログインとログアウトについては、#360 Facebook Authenticationを確認してください。

Twitterのログアウトについては、まだ検索中です..

于 2013-08-12T06:44:55.020 に答える