我正在为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一起运行良好。我该如何修复我的代码?