0

全認証戦略として、devise on rails 3.2 を twitter と組み合わせて使用​​しています。アプリを再認証せずに戻ってきたユーザーをログインさせるには、 twitterの認証方法を利用したいと考えて ます。

しかし、初期化子で明示的に設定しても、devise は常にhttps://api.twitter.com/oauth/authorizeを使用しています。

  config.omniauth :twitter, 'zsJ66OoLL1xmFNfDG+ifA', 'crRo2Gxi2wFmw3b3XXXXXX',
              :client_options => {:authorize_path => '/oauth/authenticate'}

また、omniauth twitter gem は認証 URL に「options.client_options.authorize_path = '/oauth/authenticate'」を使用しています。そのため、devise が代わりに認証 URL を使用している理由がわかりません。

認証URLの使用を強制する方法を知っている人はいますか?

編集

どうやらこれは Twitter の問題のようです。ユーザーがまだ Twitter にログインしているにもかかわらず、Twitter が認証 URL イベントへのリダイレクトを行っていることがわかったからです。

4

1 に答える 1

0

問題を説明するこの投稿をツイッターから偶然見つけました

「Twitter でサインイン」フローの変更

この変更により、自動リダイレクトを要求するアプリケーションに対してのみ自動リダイレクトが許可されます。/oauth/authenticate を使用し、ログイン ユーザーの自動リダイレクト動作に依存するアプリケーションは、この [Twitter でサインイン] オプションを有効にする必要があります。このオプションが有効になっていない場合、ユーザーは代わりに /oauth/authorize にリダイレクトされ、アプリケーションの承認フローを完了するように求められます。

投稿へのリンク

于 2013-03-26T07:31:59.157 に答える