1

ログインにomniauthを使用していますが、ユーザーの資格情報を保存して、ブラウザーを閉じてセッションが終了した後、またはログアウトすることを決定した後、次回は「アクセスを許可する」必要がないようにする方法を考えています。ログインしてみてください。

OmniAuth Google と Identity を組み合わせて使用​​しています。私はDeviseを使用していません。

4

2 に答える 2

3

omn​​iauth構成ファイルに、以下を追加します。

provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'],
  {
    approval_prompt: 'auto'
  }

編集:

新しいバージョンのgoogle_oauth2gemでは、ユーザー認証はデフォルトで記憶されます。ユーザーが常にログインを承認する必要がある場合は、新しいpromptオプションを使用します。

provider :google_oauth2, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'],
  {
    prompt: 'consent'
  }

詳細については、ドキュメントをお読みください。

于 2013-02-12T00:17:35.353 に答える
1

user_idブラウザの Cookie として保存できます。Cookie を持つログインしていないユーザーがサイトにアクセスすると、そのユーザー (この場合は Google) の認証プロバイダーを検索し、プロバイダーにクエリを実行して、ユーザーがそこにログインしているかどうかを確認します。

別の方法として、Devise を使用します :) Rememberable モジュールを介して OmniAuth を非常に簡単に統合できます。

于 2013-02-11T17:31:08.480 に答える