6

これが広すぎないことを願っていますが、多くのグーグル検索の後、どこから始めればよいかわかりません。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 からトークンを読み取り、認証ハンドシェイクとコールバック/リダイレクトを完了するために必要な種類のコードを説明するチュートリアル。

4

1 に答える 1

1

これは実際には答えではありませんが、コメントではうまくいかないため、これを投稿しています。包括的なガイドについては知りませんので、次のことをお勧めします。

  1. Omniauth の仕組みを学びましょう。Twitter を使用した認証に関する優れたRailscastがあります。とてもシンプルで、物事の流れに身を置くことができます。

  2. 独自の Omniauth 戦略を構築します。Omniauth Strategiesのリストに移動し、Developer Strategiesまでスクロールします。その表で、SSO サーバーへの接続に使用できる戦略を選択します。

理想的には、OAuth2 を使用できるようになり、独自の OAuth 戦略の実装について説明するガイドがいくつかあります。

  1. Rdio に接続するためのカスタム OAuth 1.0 戦略
  2. Intridea (Omniauth の作成者) によるカスタム OAuth 2.0 戦略
  3. Heroku で Force.com に接続するためのカスタム OAuth 2.0 戦略

しかし、それができないので、これらのガイドをざっと見てください。詳細がなければ、(私にとっては) これ以上助けを与えるのは難しいですが、他の誰かが詳細を記入してくれることを願っています.

于 2013-01-19T00:17:24.110 に答える