首页 > 解决方案 > 使用 Terraform 在 AWS Cognito 用户池中设置 Facebook API 版本

问题描述

在将 AWS Cognito 用户池与它集成时,我找不到任何有关如何在 Terraform 中设置 Facebook API 版本的文档。

可以部署以下块而不会出现任何错误:

resource "aws_cognito_identity_provider" "facebook_identity_provider" {
  provider_name = "Facebook"
  provider_type = "Facebook"
  user_pool_id  = aws_cognito_user_pool.global_user_pool.id

  provider_details  = {
    authorize_scopes = "email"
    client_id        = "<client-id>"
    client_secret    = "<client-secret>
  }
  attribute_mapping = {
    email    = "email"
    username = "id"
  }
}

但随后在 AWS 仪表板中,我看到了以下警告:

Facebook is going to deprecate Ver. 2.12 by May 1st, by which Cognito will remove our support for this API. We encourage you to select another version of API and check your attribute mappings.

最新版本是v6.0,怎么设置呢?

标签: terraformamazon-cognitoamazon-cognito-facebook

解决方案


经过一些试验和错误,我发现它可以在api_version内部完成,provider_details如下所示:

resource "aws_cognito_identity_provider" "facebook_identity_provider" {
  provider_name = "Facebook"
  provider_type = "Facebook"
  user_pool_id  = aws_cognito_user_pool.global_user_pool.id

  provider_details  = {
    api_version      = "v6.0"
    authorize_scopes = "email"
    client_id        = "<client-id>"
    client_secret    = "<client-secret>
  }
  attribute_mapping = {
    email    = "email"
    username = "id"
  }
}

推荐阅读