terraform - 使用 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,怎么设置呢?
解决方案
经过一些试验和错误,我发现它可以在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"
}
}
推荐阅读
- puppeteer - click() 方法在隔离环境中无法正常工作
- machine-learning - Crossentropyloss Pytorch:Targetsize 与 Torchsize 不匹配
- c++ - 可变长度数组的高性能“正确”C++ 替代方案
- java - 使用 RESPONSE 作为返回类型时,JAX-RS 不返回异常
- ios - 初始化程序 `init(:_rowContent:)` 要求 `Type` 确认为 `Identifiable`
- asp.net - 控制器中的空返回变量 - asp.net
- godot - 太多节点会减慢我的 Android Godot 游戏速度
- javascript - javascript在更改宽度设备时更改文本
- javascript - 如何使用 Vuelidate 检查文件类型?
- java - 使用比较器对成对的整数 ArrayList 进行排序时出错