没有RegionEndpoint或ServiceURL配置Xamarin表单AWS Cognito Identity

时间:2018-03-10 13:09:31

标签: amazon-web-services xamarin xamarin.forms aws-sdk amazon-cognito

我正在为IOS和Android平台使用Xamarin.Forms开发一个应用程序。我正在创建一个将我的应用程序与AWS Cognito Identity Service提供程序集成的身份验证系统。

我现在要做的是,我正在尝试实现一个登录功能,根据AWS身份池验证用户。但它给了我这个错误,没有RegionEndpoint或ServiceURL配置。

这是我的用户登录代码:

private async Task<bool> CheckPasswordAsync(string userName, string password)
        {
            try
            {
                CognitoAWSCredentials credentials = new CognitoAWSCredentials(
                COGNITO_POOL_ID,
                RegionEndpoint.EUWest2
                );

                var _client = new AmazonCognitoIdentityProviderClient(credentials);

                var authReq = new AdminInitiateAuthRequest()
                {
                    UserPoolId = COGNITO_POOL_ID,
                    ClientId = COGNITO_CLIENT_ID,
                    AuthFlow = AuthFlowType.ADMIN_NO_SRP_AUTH,

                };
                authReq.AuthParameters.Add("USERNAME", userName);
                authReq.AuthParameters.Add("PASSWORD", password);

                AdminInitiateAuthResponse authResp = await _client.AdminInitiateAuthAsync(authReq);

                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("THIS IS ERROR " + ex.Message);
                return false;
            }
        }

当我登录时,它给了我提到的错误。所以我找到了这个解决方案 - No RegionEndpoint or ServiceURL configured并尝试更改凭据,如下所示。

BasicAWSCredentials credentials = new BasicAWSCredentials(AWS_IAM_KEY, AWS_IAM_SECRET);

它仍然给我同样的错误。我的所有凭据都是正确的,并且这些凭据与Javascript SDK一起运行良好。我该如何修复我的代码?

0 个答案:

没有答案