访问 cognito 用户池并获取用户令牌

Access cognito user pool and getting user token

提问人:user1696877 提问时间:11/16/2023 最后编辑:winscripteruser1696877 更新时间:11/17/2023 访问量:38

问:

如何在 Windows 应用程序 (winform ) C# 中从 Cognito 获取用户令牌。提前致谢。

我试过了

Amazon.CognitoIdentityProvider.AmazonCognitoIdentityProviderClient provider = new Amazon.CognitoIdentityProvider.AmazonCognitoIdentityProviderClient(
                 new Amazon.Runtime.AnonymousAWSCredentials(), Amazon.RegionEndpoint.USEast1);
userPool = new CognitoUserPool("", "", provider)
C# .NET Winforms Amazon-Cognito

评论

0赞 user1696877 11/17/2023
什么是_cognitoService?命名空间需要包含 .

答:

1赞 rlhagerm 11/16/2023 #1

AWS 开发工具包代码示例库中有一个 C# 示例,演示如何使用用户池。您可以克隆存储库并自行运行示例。那里有一个管理员登录部分,类似于您进行用户(而不是管理员)登录时所需的内容。此设置使用身份验证质询,如果不使用该选项,则可以忽略该质询。

public async Task<InitiateAuthResponse> InitiateAuthAsync(string clientId, string userName, string password)
{
    var authParameters = new Dictionary<string, string>();
    authParameters.Add("USERNAME", userName);
    authParameters.Add("PASSWORD", password);

    var authRequest = new InitiateAuthRequest

    {
        ClientId = clientId,
        AuthParameters = authParameters,
        AuthFlow = AuthFlowType.USER_PASSWORD_AUTH,
    };

    var response = await _cognitoService.InitiateAuthAsync(authRequest);
    Console.WriteLine($"Result Challenge is : {response.ChallengeName}");

    return response;
}

评论

0赞 user1696877 11/17/2023
什么是_cognitoService?需要包含哪个命名空间
0赞 rlhagerm 11/18/2023
在本例中,它是 DI 引擎注入的 IAmazonCognitoIdentityProvider。该示例演示了如何进行设置。您可以在代码库中查看完整示例(或者更好的是,克隆 repo: github.com/awsdocs/aws-doc-sdk-examples)。