authlogicおよびoauth-plugin
-
05-07-2019 - |
質問
誰かがテストしたか-authlogicはoauth-plugin( https://github.com/pelleで動作します/ oauth-plugin )かどうか
解決
短い答えはいいえです。現在、 oauth-plugin のサービスプロバイダーシップを独自の認証システム( authlogic 、 acts_as_authenticated およびその他すべて)に統合しています。
oauth-plugin サービスプロバイダーシップは、2つのコントローラーを生成するコードジェネレーターによって機能し、プラグイン内のいくつかのライブラリファイルに結び付けられます。これらのファイルはすべて、 acts_as_authenticated が使用するのと同じセマンティクスを持つ login_required
クラスメソッドを想定しています。
authlogic はコントローラーについて何も想定していないため、 oauth-plugin を使用してもそのままでは機能しませんが、その設計上の決定は、予想される方法でコントローラーを簡単に構築できます。したがって、 oauth-plugin をサポートするシムを(簡単に)簡単に構築する必要があります。
ただし、私の場合、ジェネレーターを実行し、必要なものをプラグインから抽出し、プラグイン自体を削除することにしました。これを行う主な理由は、認証システムに login_required
メソッドを明示的に持たないため、それを機能させるためにライブラリにモンキーパッチを適用する必要があるためです。第二に、プラグインには私が必要としないものがたくさんあります。第三に、真にライブラリレベルであるもののほとんどは既に oauth gemに抽象化されているため、 oauth-plugin libディレクトリにあるものはこの中にあります奇妙なことは、生成されたコードと実際のライブラリの間に人がいないことです。
他のヒント
私は現在、これを機能させるプロセスにいます。 authlogicメソッドを使用して自分のロールを作成し、うまく再生できるようにしました。 (プロバイダーを機能させようとしているので、authlogic-oauthは私には適切ではないようです)
移動しながら編集します
def logged_in?
return true if current_user
end
def login_required
return true if logged_in?
store_location
redirect_to new_user_session_path and return false
end
Authlogicには特別に開発されたアドオンがあり、こちら。