4.6. アプリケーションの設定
OIDC エクステンションを使用すると、src/main/resources ディレクトリーの application.properties ファイルを使用して設定を定義できます。
これは、アプリケーションへの認証を有効にするときに使用できる最も単純な設定です。
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 です。