【问题标题】:how to authenticate a user using aws cognito in android如何在android中使用aws cognito对用户进行身份验证
【发布时间】:2018-06-16 07:45:19
【问题描述】:

我正在使用下面的代码使其在我的网站上运行。如何将以下代码转换为android?

代码:

    var authenticationData = {
            Username : 'username',
            Password : 'password',
        };

var identity_pool_id="dqdwrqw*******";
        var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);
        var poolData = { UserPoolId : 'us-east-1_TcoKGbf7n',
            ClientId : '4pe2usejqcdmhi0a25jp4b5sh3'
        };
        var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
        var userData = {
            Username : 'username',
            Pool : userPool
        };
        var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
        cognitoUser.authenticateUser(authenticationDetails, {
            onSuccess: function (result) {
                console.log('access token + ' + result.getAccessToken().getJwtToken());
                /*Use the idToken for Logins Map when Federating User Pools with Cognito Identity or when passing through an Authorization Header to an API Gateway Authorizer*/
                console.log('idToken + ' + result.idToken.jwtToken);
            },

            onFailure: function(err) {
                alert(err);
            },

        });

安卓代码:

final CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                        getBaseContext(),
                        "ap***",
                        Regions.AP_SOUTHEAST_1 
                );

                Map<String, String> logins = new HashMap<String, String>();
                logins.put("Username", email);
                logins.put("Password", pass);
                credentialsProvider.setLogins(logins);

我不知道如何从中获取数据。请帮帮我

【问题讨论】:

  • 适用于 Android 的 Cognito SDK 遵循与 NodeJs 相似的结构。那么,你为什么不在亚马逊网站上搜索一下 Cognito 的 Java SDK
  • 我做了,但我没有得到任何与上面的代码匹配的东西。

标签: javascript android amazon-web-services amazon-cognito


【解决方案1】:

最简单的方法是遵循 AWS 文档:

一个非常重要的事情是从异步模式切换到同步模式。在 Android SDK 中,您需要重新考虑为 Javascript 开发的方式。但是,就像我说的,代码的结构将非常相似。

我是否尝试按照上面的链接进行操作。

希望对您有所帮助!

【讨论】:

  • 这仍然没有回答我的问题。原因是我使用 api 网关和用户池和组配置了一个复杂的过程。如果我能在android中得到上面的代码那就太好了:)
  • @jason 不,它没有。我回答的目的是为研究开辟一条道路,你需要寻找它,因为你在这里没有问题,你想要从头开始编写代码,而不需要你任何努力。因此,请继续研究以完成您的方案。
  • 谢谢以利亚撒。我将对其进行研究并在此处发布代码,因为我已尝试使其正常工作:)
  • 很好,这对你的帮助比我到目前为止“所做的”还要多。 :-)
猜你喜欢
  • 2020-01-01
  • 2016-09-27
  • 1970-01-01
  • 2016-08-18
  • 2018-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
相关资源
最近更新 更多