相关疑难解决方法(0)

知识产权用户池和联合身份之间的服务差异

AWS提供cognito,为开发人员提供注册和登录功能,包括与OpenId兼容身份提供商(如facebook,google等)的联合.

cognito开发者控制台中有两种类别.这些是管理用户池和管理联合身份.

我只是有点困惑,因为两者非常相似,即使我们想要提供我们的客户登录他们的Facebook帐户.cognito用户池本身提供联合身份验证和联合身份池,也由身份验证提供程序提供.

问题是,如果我想允许我的客户使用自己的Facebook帐户登录,我应该使用哪些类别?用户池或联合身份?

另外,如果我想在API网关中配置授权器,我必须创建cognito用户池但联合身份池.这是选择认知类别的主要原因吗?

amazon-web-services amazon-cognito

15
推荐指数
3
解决办法
3586
查看次数

从 Cognito 身份池 identityId 获取 Cognito 用户池用户名

我正在使用 AWS Congito 用户池通过 Cognito 身份池进行账户管理,该身份池将此用户池作为身份提供者。我使用它来控制通过 API 网关对 API 的访问,该网关将请求发送到 Lambda。我的 Lambda 是使用 Micronaut 用 Ja​​va 8 实现的。所有这些都运行良好。

在 Lambda 中,我从以下Principal中获取名称HttpRequest

  protected String resolveUser( HttpRequest request ){
    String ret = null;

    Optional<Principal> principal = request.getUserPrincipal();
    if( principal.isPresent() ){
      ret = principal.get().getName();
    }

    if( ret == null || ret.length() == 0 ){
      ret = "unknown";
    }
    return ret;
  }
Run Code Online (Sandbox Code Playgroud)

Cognito identityId 的字符串名称中返回的内容。像这样的东西:

us-east-1:xxxxe650-53f4-4cba-b553-5dff42bexxxx

我想记录实际的用户登录信息,或者至少有一些方法可以在需要时将 identityId 转换为登录信息。

LookupDeveloperIdentity API调用似乎是去了解这个正确的方式,但我无法得到它的工作。

尝试使用 Java 和 AWS Java SDK 2 执行此操作: …

amazon-web-services amazon-cognito aws-java-sdk micronaut micronaut-aws

14
推荐指数
1
解决办法
2322
查看次数