quorate/terraform/internal/zitadel/forgejo-public.tf

44 lines
1.9 KiB
Terraform
Raw Normal View History

locals {
forgejo_public_oidc_redirect_uri = "${trim(var.forgejo_public_base_url, "/")}/user/oauth2/${var.forgejo_public_oauth_provider_name}/callback"
}
resource "zitadel_application_oidc" "forgejo_public" {
org_id = zitadel_org.primary.id
project_id = zitadel_project.services.id
name = "Public Forgejo"
redirect_uris = [local.forgejo_public_oidc_redirect_uri]
response_types = ["OIDC_RESPONSE_TYPE_CODE"]
grant_types = ["OIDC_GRANT_TYPE_AUTHORIZATION_CODE", "OIDC_GRANT_TYPE_REFRESH_TOKEN"]
post_logout_redirect_uris = [trim(var.forgejo_public_base_url, "/")]
app_type = "OIDC_APP_TYPE_WEB"
auth_method_type = "OIDC_AUTH_METHOD_TYPE_BASIC"
version = "OIDC_VERSION_1_0"
clock_skew = "0s"
dev_mode = false
access_token_type = "OIDC_TOKEN_TYPE_BEARER"
access_token_role_assertion = false
id_token_role_assertion = true
id_token_userinfo_assertion = true
additional_origins = []
skip_native_app_success_page = false
}
resource "vault_kv_secret_v2" "forgejo_public_oidc" {
mount = var.vault_kv_mount
name = var.forgejo_public_oidc_vault_path
data_json = jsonencode({
auth_name = var.forgejo_public_oauth_provider_name
key = zitadel_application_oidc.forgejo_public.client_id
secret = zitadel_application_oidc.forgejo_public.client_secret
client_id = zitadel_application_oidc.forgejo_public.client_id
client_secret = zitadel_application_oidc.forgejo_public.client_secret
discovery_url = "https://${var.zitadel_domain}/.well-known/openid-configuration"
roles_claim = local.forgejo_roles_claim
redirect_uri = local.forgejo_public_oidc_redirect_uri
})
lifecycle {
ignore_changes = [data_json]
}
}