第2章 シングルサインオンによる JBoss EAP にデプロイしたアプリケーションの保護
シングルサインオン (SSO) を使用してアプリケーションを保護し、Red Hat build of Keycloak などの SSO プロバイダーに認証を委譲できます。OpenID Connect (OIDC) または Security Assertion Markup Language v2 (SAML v2) のいずれかを SSO プロトコルとして使用できます。
SSO を使用してアプリケーションを保護するには、次の手順に従います。
- シングルサインオンで保護するサンプルアプリケーションの作成: この手順を使用して、SSO で保護するための単純な web-application を作成します。SSO で保護するアプリケーションがすでにある場合は、この手順をスキップしてください。
- Red Hat build of Keycloak でのレルムとユーザーの作成
OIDC または SAML をプロトコルとして使用して、SSO でアプリケーションを保護します。
2.1. シングルサインオンで保護するサンプルアプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
web-application を作成して JBoss EAP にデプロイし、OpenID Connect (OIDC) または Security Assertion Mark-up Language (SAML) を使用してシングルサインオン (SSO) で保護します。
以下の手順は例としてのみ提供されています。保護する必要があるアプリケーションがすでにある場合は、以下の手順をスキップして、Red Hat build of Keycloak でのレルムとユーザーの作成 に直接進むことができます。
2.1.1. Web アプリケーション開発用の Maven プロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
web-application を作成するには、必要な依存関係とディレクトリー構造で Maven プロジェクトを作成します。
以下の手順は一例として提示されています。実稼働環境では使用しないでください。JBoss EAP のアプリケーション作成に関する詳細は、JBoss EAP にデプロイするアプリケーションの開発のスタートガイド を参照してください。
前提条件
- Maven がインストールされている。詳細は、Downloading Apache Maven を参照してください。
手順
mvnコマンドを使用して Maven プロジェクトを設定します。このコマンドは、プロジェクトのディレクトリー構造とpom.xml設定ファイルを作成します。構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションのルートディレクトリーに移動します。
構文
cd <name-of-your-application>
$ cd <name-of-your-application>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cd simple-webapp-example
$ cd simple-webapp-exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成された
pom.xmlファイルの内容を、以下のテキストに置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
アプリケーションのルートディレクトリーで、次のコマンドを入力します。
mvn install
$ mvn installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のような出力が得られます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.2. Web アプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
ログインユーザーのプリンシパルから取得したユーザー名を返すサーブレットを含む Web アプリケーションを作成します。ログインしているユーザーがないと、サーブレットは「NO AUTHENTICATED USER」のテキストを返します。
この手順では、<application_home> は、アプリケーションの pom.xml 設定ファイルが含まれるディレクトリーを参照します。
前提条件
Maven プロジェクトを作成している。
詳細は、Web アプリケーション開発用の Maven プロジェクトの作成 を参照してください。
- JBoss EAP が実行されている。
手順
Java ファイルを保存するディレクトリーを作成します。
構文
mkdir -p src/main/java/<path_based_on_artifactID>
$ mkdir -p src/main/java/<path_based_on_artifactID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
mkdir -p src/main/java/com/example/app
$ mkdir -p src/main/java/com/example/appCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいディレクトリーに移動します。
構文
cd src/main/java/<path_based_on_artifactID>
$ cd src/main/java/<path_based_on_artifactID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cd src/main/java/com/example/app
$ cd src/main/java/com/example/appCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容で
SecuredServlet.javaファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションのルートディレクトリーで、次のコマンドを使用してアプリケーションをコンパイルします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションをデプロイします。
mvn wildfly:deploy
$ mvn wildfly:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ブラウザーで
http://localhost:8080/simple-webapp-example/securedに移動します。以下のメッセージが表示されます。
Secured Servlet Current Principal 'NO AUTHENTICATED USER'
Secured Servlet Current Principal 'NO AUTHENTICATED USER'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 認証メカニズムが追加されないため、アプリケーションにアクセスできます。