当前位置: 首页 > 知识库问答 >
问题:

在Android的亚马逊认知用户池中检索用户属性(别名,必需和自定义)

杭志泽
2023-03-14

下面的文档显示,我们需要使用GetDetailsHandler来检索android的用户属性。

http://docs.aws.amazon.com/cognito/latest/developerguide/tutorial-integrating-user-pools-android.html#tutorial-集成用户池用户详细信息android

我已经尝试过了,在一次成功中,我做到了

GetDetailsHandler getDetailsHandler = new GetDetailsHandler() {
        @Override
        public void onSuccess(CognitoUserDetails cognitoUserDetails) {
        Map userAtts = cognitoUserDetails.getAttributes().getAttributes();
        String userName =       userAtts.get("alias:preferred_username").toString();
        }

        @Override
        public void onFailure(Exception exception) {
       }
    };

用户名仍然返回null。我在onCreate()中实现了它。我做错了吗?感谢您的帮助。

共有2个答案

暴德运
2023-03-14

如果您试图访问标准用户属性“preferred\u username”中的值,则该键仅为“preferred\u username”
要访问首选用户名,请尝试以下操作:

Map userAtts    = cognitoUserDetails.getAttributes().getAttributes();
String userName = userAtts.get("preferred_username").toString();
韦绍晖
2023-03-14

您必须先初始化映射,然后才能使用

Map userAtts=new HashMap();
userAtts =cognitoUserDetails.getAttributes().getAttributes();
String userName = userAtts.get("alias:preferred_username").toString();

它起作用了

 类似资料:
  • 但有些多重问题, 如何在.NET中对Amazon Cognito用户池执行身份验证。我以以下方式启动Auth: 他们的文档非常非常糟糕,当我想回应挑战时,我似乎找不到该通过什么。 我假设它只是用默认的JWT中间件配置OWIN,还是应该期待其他东西?

  • 如果我在控制台中使用Kendra中的搜索功能,就会返回有效数据,并且一切正常工作。 现在转到我们的网站:使用带有认知标识池的Java SDK对Kendra进行调用,我们收到以下错误: 误差 我检查了SCP的。没有SCP禁止使用Kendra。 我也看过信任关系,看起来也很好: {“版本”:“2012-10-17”,“语句”:[{“效果”:“允许”,“主体”:{“联邦”:“cognito-identi

  • 我们正在开发一个系统,我们需要向数千部手机发送推送通知。我们使用Amazon SNS进行了设置。我们将向每部手机发送单独的消息,因此我们直接发送到SNSendpointARN,而不是主题ARN。 我们目前正在想这个系统的性能。我在网上找不到任何关于可以向SNS发送多少消息的内容。例如,如果我需要向25000个SNSendpoint发送25000条消息,我可以以多快的速度发送它们?秒、分钟、小时?

  • 我有一个AWS认知用户池,我试图在Android应用程序上添加Facebook登录。我的应用程序目前成功登录到facebook,但没有在我的用户池中创建用户。我已经按照这里的指示去做了

  • 我正在我的asp中集成amazon pay API。net代码。我已经编写了以下代码 它呈现亚马逊支付按钮。但当我点击它时,它会显示弹出窗口,错误为404。 它以前是有效的。我不会更改亚马逊上的任何设置。我已经检查了JavaScript跨源代码。我已经添加了带有端口的localhost。如何解决此问题?

  • 我有两个 AWS 账户,账户 1 有 lambda,账户 2 有一个 SNS,它将在同一账户中触发一个 lambda 函数。 现在我想从Account 1中的lambda函数触发Account 2中的SNS。我不知道如何在这些帐户之间为各自的服务创建信任关系。 任何线索都会受到高度赞赏。