Exemplo n.º 1
0
 public IActionResult LinkWithSuperpagos([FromBody] PaymentMethodConfirmation dto)
 {
     if (ProviderToken.Equals(dto.OperationTokenFromProvider))
     {
         return(Ok());
     }
     return(Forbid());
 }
        public async Task <ProviderToken> UpdateAddToken(string providerId, ProviderToken entity)
        {
            var q = _builder
                    .Eq(x => x.Id, providerId)
                    .Eq(x => x.State, MREntityState.Active)
                    .UpdateAddToSet(x => x.Access.Tokens, entity);

            await UpdateByQuery(q);

            return(entity);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Google([FromBody] ProviderToken providerToken)
        {
            try
            {
                var payload = await GoogleJsonWebSignature.ValidateAsync(providerToken.IdToken, new GoogleJsonWebSignature.ValidationSettings
                {
                    Audience = new List <string>
                    {
                        configuration["AppSettings:GoogleClientId"]
                    }
                });

                var claims = new[]
                {
                    new Claim(JwtRegisteredClaimNames.Email, payload.Email),
                    new Claim(JwtRegisteredClaimNames.Sub, payload.Subject),
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
                };

                var key   = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(configuration["AppSettings:JwtSecret"]));
                var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                var token = new JwtSecurityToken(string.Empty,
                                                 string.Empty,
                                                 claims,
                                                 expires: DateTime.Now.AddSeconds(55 * 60),
                                                 signingCredentials: creds);

                return(Ok(
                           new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));
            }
            catch (Exception ex)
            {
                BadRequest(ex.Message);
            }

            return(BadRequest());
        }
Exemplo n.º 4
0
        public async Task <AuthorizationToken> VkLoginAsync(ProviderToken providerResource)
        {
            ProviderUser vkUser = await _vkAuthProvider.GetAccountInfoAsync(providerResource.Token);

            return(await CreateTokenAsync(vkUser));
        }
Exemplo n.º 5
0
        public async Task <AuthorizationToken> GoogleLoginAsync(ProviderToken providerResource)
        {
            ProviderUser googleUser = await _googleAuthProvider.GetAccountInfoAsync(providerResource.Token);

            return(await CreateTokenAsync(googleUser));
        }