4.6. アプリケーションの設定
OIDC エクステンションを使用すると、src/main/resources
ディレクトリーの application.properties
ファイルを使用して設定を定義できます。
%prod.quarkus.oidc.auth-server-url=http://localhost:8180/realms/quarkus quarkus.oidc.client-id=frontend quarkus.oidc.credentials.secret=secret quarkus.oidc.application-type=web-app quarkus.http.auth.permission.authenticated.paths=/* quarkus.http.auth.permission.authenticated.policy=authenticated
これは、アプリケーションへの認証を有効にするときに使用できる最も単純な設定です。
quarkus.oidc.client-id
プロパティーは OIDC プロバイダーによって発行された client_id
を参照し、quarkus.oidc.credentials.secret
プロパティーはクライアントシークレットを設定します。
quarkus.oidc.application-type
プロパティーは web-app
に設定され、ユーザーが認証のために OIDC プロバイダーにリダイレクトされるように、OIDC 認可コードフローを有効にすることを Quarkus に通知します。
最後に、保護するパスを Quarkus に伝えるために、quarkus.http.auth.permission.authenticated
権限が設定されます。この場合、すべてのパスは、authenticated
ユーザーのみがアクセスできるようにするポリシーによって保護されます。詳細は、セキュリティー認可ガイド を参照してください。
quarkus.oidc.credentials.secret
を使用してクライアントシークレットを設定しない場合は、quarkus.oidc.token-state-manager.encryption-secret
を設定することを推奨します。
quarkus.oidc.token-state-manager.encryption-secret
を使用すると、デフォルトのトークン状態マネージャーが、ブラウザー Cookie 内のユーザートークンを暗号化できるようになります。このキーが定義されておらず、quarkus.oidc.credentials.secret
フォールバックが設定されていない場合、Quarkus はランダムなキーを使用します。ランダムなキーを使用すると、アプリケーションの再起動時、またはアプリケーションのインスタンスが複数ある環境で、既存のログインが無効になります。または、quarkus.oidc.token-state-manager.encryption-required
を false
に設定して暗号化を無効にすることもできます。ただし、シークレット暗号化の無効化は開発環境でのみ行ってください。
暗号化シークレットの長さは 32 文字にすることを推奨します。たとえば、quarkus.oidc.token-state-manager.encryption-secret=AyM1SysPpbyDfgZld3umj1qzKObwVMk
です。