web-dev-qa-db-ja.com

初心者向けのSAMLの簡単な例

私はSAML v2.0テクノロジーの初心者であり、理論の知識は得ていますが、Googleで例が見つかりませんでした。誰でも簡単な「SAML for v2.0」のステップバイステップの例を提供できますか。

  1. これまで、私は理論の部分を調べてきました。つまり、Single sign on
    また、サービスプロバイダーおよびアイデンティティプロバイダーについても理解しました。
  2. 現在、私はLinux環境に取り組んでいます
  3. 要求がser-> Identity Provider-> Service Providerからどのように移動するか、および環境を構成する方法について、基本的な例を段階的に説明する必要があります。
  4. SAML v2.0の例を実行することは可能ですか
  5. Java言語でSAMLの例を実行する機会があれば、可能であれば
    Javaも。
36
user2779075

SAMLを使用した一般的なSSOは、Web SSOプロファイルと呼ばれるものです。 OpenAM、Shibboleth、OpenSAML、Oracle Identity Federationなど、これをサポートする多くの製品が市場に出回っています。特定の構成は、使用する製品の選択に依存します。私の本で使用しているOpenSAMLの実例は、利用可能です here です。

SAMLレベルでは、SPとIDPは、SPとIDPが通信する方法に関する構成情報を含むメタデータを交換します。

その後、SSOは4つの手順で実行されます。

  1. SPは、ユーザーに認証済みセッションがないことを確認します。
  2. SPは、SAML AutnRequestをURLパラメーターとしてIDPにリダイレクトします。
  3. IDPはユーザーを認証し、URLパラメーターにアーティファクトを指定してSPにリダイレクトします。
  4. SPは、ArtifactResolveRequestをIDPに使用して、アーティファクトをSOAPを介してアサーションと交換します。

これをJavaで自分でコーディングする場合は、OpenSAMLを使用できます。私の blog には、その使用方法に関する多くの例があります。

私の本、 OpenSAMLのガイド で、私はこれについてたくさん書いています

編集 本の新版 がリリースされ、OpenSAML v3をカバー

29

この manual の手順に従うだけで、ローカルサービスプロバイダーとパブリックIDプロバイダー間の単純なSAML 2.0フェデレーションを作成できます。

これを設定すると、IDP/SP間で送信されるメッセージを追跡するために使用できます。また、Java + OpenSAML + Springで構築されたSAMLコンポーネントの例としても使用できます。

上記のStefanのブログのように、SAMLに関する他の多くの優れた情報源もあります。

6