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); }
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()); }
public async Task <AuthorizationToken> VkLoginAsync(ProviderToken providerResource) { ProviderUser vkUser = await _vkAuthProvider.GetAccountInfoAsync(providerResource.Token); return(await CreateTokenAsync(vkUser)); }
public async Task <AuthorizationToken> GoogleLoginAsync(ProviderToken providerResource) { ProviderUser googleUser = await _googleAuthProvider.GetAccountInfoAsync(providerResource.Token); return(await CreateTokenAsync(googleUser)); }