You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Terraform程序化配置OAuth客户端的授权重定向URI及JS源

为IAP OAuth Client配置授权重定向URI与JavaScript源

Terraform的google_iap_client资源本身不支持直接配置授权重定向URI和授权JavaScript源,这两个属性属于OAuth客户端的核心配置,需要通过Google Cloud的OAuth 2.0客户端API来修改。以下是两种可行的实现方式:

方法一:Shell脚本结合gcloud与API调用

步骤1:Terraform输出客户端ID

先在Terraform代码中添加输出,方便后续脚本获取创建好的IAP客户端ID:

resource "google_iap_client" "client" {
  display_name = "Test Client"
  brand        = "gcp test"
}

output "iap_client_id" {
  value = google_iap_client.client.client_id
}

步骤2:编写Shell脚本更新配置

执行Terraform apply后,运行以下脚本完成配置:

# 提取Terraform输出的客户端ID
CLIENT_ID=$(terraform output -raw iap_client_id)

# 获取Google Cloud访问令牌
ACCESS_TOKEN=$(gcloud auth print-access-token)

# 定义要设置的重定向URI和JavaScript源
REDIRECT_URIS='["https://example.com/callback", "http://localhost:8080/callback"]'
JS_ORIGINS='["https://example.com", "http://localhost:8080"]'

# 调用OAuth API更新客户端配置
curl -X PATCH \
  "https://oauth2.googleapis.com/v2/$CLIENT_ID" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "redirectUris": '"$REDIRECT_URIS"',
    "javascriptOrigins": '"$JS_ORIGINS"'
  }'

方法二:Terraform集成local-exec自动更新

直接在Terraform资源中添加local-exec provisioner,创建IAP客户端后自动触发API调用:

resource "google_iap_client" "client" {
  display_name = "Test Client"
  brand        = "gcp test"

  provisioner "local-exec" {
    command = <<EOT
      ACCESS_TOKEN=$(gcloud auth print-access-token)
      curl -X PATCH \
        "https://oauth2.googleapis.com/v2/${google_iap_client.client.client_id}" \
        -H "Authorization: Bearer $ACCESS_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
          "redirectUris": ["https://example.com/callback", "http://localhost:8080/callback"],
          "javascriptOrigins": ["https://example.com", "http://localhost:8080"]
        }'
    EOT
  }
}

注意事项

  • 执行操作的账号需要拥有clientauthconfig.clients.update权限(可通过OAuth Config Editor角色赋予)
  • 若在CI/CD环境中运行,需确保gcloud已完成身份认证
  • 当前Google OAuth客户端API的稳定版本为v2,API路径无需修改

内容的提问来源于stack exchange,提问作者adithyar24200

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:48:31