예제 #1
0
        private async Task CreateCognitoSecretFileAsync()
        {
            foreach (var cognitoClient in this._configSettings.ExtraAWSConfig.CognitoClients)
            {
                cognitoClient.ClientSecret = await _awsCognitoHelper.GetClientSecretForAppClientAsync(cognitoClient)
                                             .ConfigureAwait(false);
            }

            await FileHelper.CreateFileWithContentAsync(Path.Combine(this._configSettings.SecretsDockerFolderPath,
                                                                     this._configSettings.ExtraAWSConfig.CognitoSecretsFileName),
                                                        JsonSerializer.SerializeToString(this._configSettings.ExtraAWSConfig.CognitoClients))
            .ConfigureAwait(false);
        }
예제 #2
0
        public async Task GetTokenWithSessionId_VerifyTokenAndSessionId()
        {
            var configSettings = Options.Create(GetTestConfigSettings());
            var httpClient     = new HttpClient
            {
                Timeout = TimeSpan.FromSeconds(configSettings.Value.TokenRequestTimespanSecs)
            };
            var amazonCognitoIdentityProviderClient = new AmazonCognitoIdentityProviderClient();
            var awsCognitoHelper             = new AWSCognitoHelper(httpClient, amazonCognitoIdentityProviderClient);
            var awsCognitoClientSecretHelper = new AWSCognitoClientSecretHelper(configSettings);
            var fireBaseHelper = new FirebaseHelper();
            var jwtTokenHelper = new JwtTokenHelper(configSettings, httpClient);

            var client = configSettings.Value.Clients.First();
            var cognitoClientSecretData = new CognitoClient
            {
                ClientId   = client.Cognito.ClientApp.ClientId,
                UserPoolId = client.Cognito.ClientApp.UserPoolId
            };

            MockingHelper.SetFieldValue(awsCognitoClientSecretHelper, "_cognitoClientSecretDataArr", new[] { cognitoClientSecretData });
            cognitoClientSecretData.ClientSecret = await awsCognitoHelper.GetClientSecretForAppClientAsync(cognitoClientSecretData);

            var logger     = Mock.Of <ILogger <TokenController> >();
            var controller = new TokenController(configSettings,
                                                 logger,
                                                 awsCognitoHelper,
                                                 awsCognitoClientSecretHelper,
                                                 fireBaseHelper,
                                                 jwtTokenHelper)
            {
                CurrentClient = new Client
                {
                    ConfigClientData = client,
                    ExtraClientData  = new ExtraClientData()
                }
            };

            controller.CurrentClient.ConfigClientData.Cognito.ClientApp.ClientSecret = cognitoClientSecretData.ClientSecret;
            await TestIdToken(true, controller, jwtTokenHelper).ConfigureAwait(false);
        }