これが広すぎないことを願っていますが、多くのグーグル検索の後、どこから始めればよいかわかりません。Rails 3アプリケーションの認証実装の構築を開始するのに役立つ入門/noobの概要を探しています。
基本的な技術要件:
- Rails 3 アプリケーションは、サードパーティのサービス (heroku) でホストされています。
- ユーザーを認証するには、特定の外部プライベート SSO サービスを使用する必要があります。
- Rails アプリケーションにローカル ユーザー データベースまたはモデルがありません。
- 認証はトークンベースであり、トークンを読み取って SSO サーバーに戻す必要がある特別な Cookie があることを意味します (レールベースではありません)。
- SSO サーバーまたはインフラストラクチャを制御できません。
- SSO サーバーの信頼は暗黙的であり、ユーザー、パスワード、または機密情報のローカル データベースを維持する必要はありません。ユーザー情報はセッション中にのみ存在し、SSO サーバーは権限を持っています。
- セッション トークン情報は Cookie ベースであり、ブラウザ セッションの間存続します。
上記のセットアップでプロセスがレールでどのように機能するかの基本的な例/チュートリアル/戦略/説明を探しています。基本的に次のようなワークフローを使用して、プロセスをユーザーにとってシームレスにしたいと思います。
- Rails アプリに移動 -->
- 認証されていないユーザーを SSO サーバーにリダイレクト -->
- ログインし、リモート SSO サーバー経由で認証 -->
- Rails アプリへのコールバック/リダイレクト -->
- SSO サーバーから返されたユーザー情報を取得し、Rails アプリで保護されたリソースをロードします
戦略は、プライベート SSO リソースを使用して完全にカスタム化されており、よく公開されている認証メカニズムを使用していません (つまり、Facebook、Google、Twitter、OAuth などではありません)。
用語、一貫したチュートリアル、例に関するヘルプをいただければ幸いです。
編集/更新:
より具体的に言うと、omniauth カスタム開発者戦略を作成する方法についての優れたドキュメントも探しています。任意の SSO サーバーと通信し、Cookie からトークンを読み取り、認証ハンドシェイクとコールバック/リダイレクトを完了するために必要な種類のコードを説明するチュートリアル。