在 Cognito 用户池属性中获取全尺寸 facebook 图片配置文件

niq*_*qui 9 facebook amazon-cognito

如何在 Cognito 用户池属性映射中获取 facebook 全尺寸个人资料图片。

我已将 Facebook 属性“图片”映射到 Cognito 用户池属性“图片”,但问题是 facebook 正在返回 50x50 的图片。我不知道如何在 Cognito 中指定分辨率。

facebook返回的图片:

{ 
   data: {
     height: 50,
     is_silhouette: false,
     url: <URL of profile picture>,
     width: 50 
    }
}
Run Code Online (Sandbox Code Playgroud)

Sim*_*ven 1

我找到了一种方法来做到这一点。这需要一点努力,但很有效。

  1. 在 cognito 中,将 映射access_token到某些未使用的用户池属性。我将它映射到profile
  2. 添加确认后 lambda 触发器。lamdba 应该接收一个事件,该事件将用户池属性profile设置为登录用户的 facebook 访问令牌。那么 lambda 应该;
  • 使用此访问令牌可以从 Facebook api 获取任意大小的个人资料图片,如下所示
  • 使用cognito 端点可以使用从 Facebook 返回的个人资料图片更新用户属性。您还可以删除该profile属性,因为您可能不想在 cognito 中实际存储用户 Facebook 访问令牌。