1.5. プログラムによる OIDC のスタートアップ
OIDC テナントは、次の例のようにプログラムで作成できます。
package io.quarkus.it.oidc;
import io.quarkus.oidc.Oidc;
import jakarta.enterprise.event.Observes;
public class OidcStartup {
void observe(@Observes Oidc oidc) {
oidc.createServiceApp("http://localhost:8180/realms/quarkus");
}
}
上記のコードは、application.properties ファイル内の次の設定とプログラム的に同等です。
quarkus.oidc.auth-server-url=http://localhost:8180/realms/quarkus
さらに多くの OIDC テナントプロパティーを設定する必要がある場合は、次の例のように OidcTenantConfig ビルダーを使用します。
package io.quarkus.it.oidc;
import io.quarkus.oidc.Oidc;
import io.quarkus.oidc.OidcTenantConfig;
import jakarta.enterprise.event.Observes;
public class OidcStartup {
void createDefaultTenant(@Observes Oidc oidc) {
var defaultTenant = OidcTenantConfig
.authServerUrl("http://localhost:8180/realms/quarkus")
.token().requireJwtIntrospectionOnly().end()
.build();
oidc.create(defaultTenant);
}
}
複数のテナントが関係するより複雑なセットアップは、OpenID Connect マルチテナンシーガイドの マルチテナントアプリケーション向けのプログラムによる OIDC の起動 セクションを参照してください。