public async Task <IActionResult> SaveImage(SaveImage saveImage) { try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; SaveImageBroker saveImageBroker = new SaveImageBroker { EndPoint = "client/saveImage", FunctionName = Utilitary.postGenericBroker, documentId = jwt.UserName, documentType = jwt.DocumentType }; var saveImageResponse = _broker.SendBroker <JsonResponseGeneric>(saveImageBroker); if (saveImageResponse.CodigoError == Enums.GetEnumDescription(ResponseCode.Fail)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(saveImageResponse.DescripcionError) ? saveImageResponse.DescripcionError : "Hubo un inconveniente al tratar de actualizar la imagen del cliente"))); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok()); }
public async Task <IActionResult> GetKeyCard() { Coordenate coordenate; try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var type = string.IsNullOrEmpty(jwt.DocumentType) ? UserType.Personal : UserType.Empresarial; coordenate = await _authEmpresarialRepository.GetKeyCardCoordenate(type); if (string.IsNullOrEmpty(coordenate.positionNumber)) { return(Unauthorized(new FrontStatusCode(coordenate.Messages))); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } return(Ok(new KeyCardPosition() { Position = coordenate.positionNumber })); }
public async Task <IActionResult> DeleteBeneficiary(string id) { if (string.IsNullOrEmpty(id)) { return(BadRequest(new FrontStatusCode("Debes especificar el Identificador del beneficiario."))); } try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var response = _broker.SendBroker <DeleteBeneficiary>(new DeleteBeneficiary() { BeneficiaryId = id }); if (response.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(response.DescripcionError) ? response.DescripcionError : "Hubo un inconveniente al tratar de guardar el beneficiario"))); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok()); }
public async Task <IActionResult> GetToken(string DeviceId) { try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var response = _broker.SendBroker <GenerateTransactionToken>(new GenerateTransactionToken() { UserName = jwt.UserName, DeviceId = DeviceId }); if (string.IsNullOrEmpty(response.Code)) { return(StatusCode(502, Enums.GetEnumDescription(ApiMessages.BrokerNoResponse))); } if (response.Code == Enums.GetEnumDescription(ResponseCode.Fail)) { return(BadRequest(new FrontStatusCode("Hubo un error al refrescar el tokén de transacción y/o DeviceId inválido"))); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok()); }
public async Task <IActionResult> SavingsPlan(SavingPlan savingPlan) { try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var mapper = Utilitary.CreateMapper <SavingPlan, SavingPlanRequestBroker>(); var savingMapped = mapper(savingPlan); savingMapped.EndPoint = "client/saveSavingsPlan"; savingMapped.FunctionName = Utilitary.postGenericBroker; savingMapped.documentId = jwt.UserName; savingMapped.documentType = jwt.DocumentType; var saveImageResponse = _broker.SendBroker <JsonResponseGeneric>(savingMapped); if (saveImageResponse.CodigoError == Enums.GetEnumDescription(ResponseCode.Fail)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(saveImageResponse.DescripcionError) ? saveImageResponse.DescripcionError : "Hubo un inconveniente al tratar de actualizar el plan de ahorro del cliente"))); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok()); }
public string CreateToken(JwtData tokenData) { // Set the expiration time of the token tokenData.exp = DateTime.Now.AddMinutes(_configurationHelper.GetDouble(CommonNames.JWT_LIFE_TIME_IN_MINUTES)).ToUnixDateTime(); var token = JsonWebToken.Encode(tokenData, _configurationHelper.GetString(CommonNames.JWT_KEY), JwtHashAlgorithm.HS256); return(token); }
public void TestMutability() { var data = new JwtData("iss", "sub", "aud", "kid"); Assert.AreEqual(data.Issuer, "iss"); Assert.AreEqual(data.Subject, "sub"); Assert.AreEqual(data.Audience, "aud"); Assert.AreEqual(data.KeyId, "kid"); }
public static JwtData InitByExternalToken(JwtToken token) { var result = new JwtData(); result.AccessToken = token.Token; result.IssuedOn = token.IssuedOn; result.ExpiresInSeconds = token.ExpiresInSeconds; result.TokenType = "Bearer"; result.ClientId = GetAppSidFromJwtToken(token.Token); return(result); }
private AuthenticationData CreateAuthenticationData(AuthenticationToken token = null, TimeSpan?timeToLive = null) { var encodedJwt = CreateJsonWebToken(token, timeToLive); var jwt = new JwtData <AuthenticationToken>(encodedJwt, _serializer); return(new AuthenticationData.Builder { AccessToken = jwt, RefreshToken = Guid.NewGuid().ToStringInvariant(), Expiration = jwt.Payload.Expiration, }); }
private static IDictionary <string, object> CreateJwtPayload(string scope, MaskinportenClientConfiguration configuration) { var jwtData = new JwtData(); jwtData.Payload.Add("iss", configuration.Issuer); jwtData.Payload.Add("aud", configuration.Audience); jwtData.Payload.Add("iat", UnixEpoch.GetSecondsSince(DateTime.UtcNow)); jwtData.Payload.Add("exp", UnixEpoch.GetSecondsSince(DateTime.UtcNow.AddMinutes(JwtExpireTimeInMinutes))); jwtData.Payload.Add("scope", scope); jwtData.Payload.Add("jti", Guid.NewGuid()); return(jwtData.Payload); }
public void JwtData_With_Ctor_Params() { var headers = _fixture.Create <Dictionary <string, object> >(); var payload = _fixture.Create <Dictionary <string, object> >(); var jwtData = new JwtData(headers, payload); jwtData.Header.Should() .Contain(headers, "because the DTO's header must match the one provided"); jwtData.Payload.Should() .Contain(payload, "because the DTO's payload must match the one provided"); }
public async Task <IActionResult> GetProducts() { List <ProductView> products = new List <ProductView>(); try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var productResponse = _broker.GetFromBroker <GetProductsByDocument>(new GetProductsByDocument() { DocumentId = jwt.UserName }); foreach (var product in productResponse.Data) { products.Add(new ProductView() { id = product.ProductNumber, balance = !string.IsNullOrEmpty(product.AvailableBalance) ? product.AvailableBalance.Trim() : "", isDefault = product.IsFavorite, currency = product.Currency, currencySymbol = Utilitary.GetCurrencySymbol(product.Currency), type = Utilitary.GetProductTypeIdByDescription(product.ProducType), alias = product.Alias, entity = product.ProviderName, name = product.Name, subtype = product.Subtype, message = product.Message }); } if (productResponse.CodigoError == Enums.GetEnumDescription(ResponseCode.Fail)) { return(BadRequest(new FrontStatusCode("Hubo un inconveniente al obtener la respesta de los productos"))); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(products)); }
public virtual string Authenticate([FromUri] DemoAuthenticationModel authenticationModel) { if (ModelState.IsValid) { var tokenData = new JwtData { Id = authenticationModel.Id, PhoneNumber = authenticationModel.MobilePhone, IsCaptchaRequired = false, ClientProcessStep = ClientProcessStep.NA }; return("token : " + JwtService.CreateToken(tokenData)); } throw ResponseBuilderService.GenerateValidationResponse(ModelState); }
public async Task <IActionResult> Send(Transaction trx) { JsonResponseGeneric resultTransactionSend; try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var mapper = Utilitary.CreateMapper <Transaction, TransactionBroker>(); var trxMapped = mapper(trx); trxMapped.EndPoint = "transaction/send"; trxMapped.documentIdSender = jwt.UserName; trxMapped.documentTypeSender = jwt.DocumentType; trxMapped.FunctionName = Utilitary.postGenericBroker; var saveTransaction = _broker.SendBroker <TransactionBroker>(trxMapped); if (saveTransaction == null && string.IsNullOrEmpty(saveTransaction.CodigoError)) { return(StatusCode(502, "Error de comunicacion con los sistemas externos.")); } if (saveTransaction.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(saveTransaction.DescripcionError) ? saveTransaction.DescripcionError : "Hubo un inconveniente al tratar de recuperar los beneficiarios"))); } resultTransactionSend = new JsonResponseGeneric { CodigoError = saveTransaction.CodigoError, DescripcionError = saveTransaction.DescripcionError, Data = saveTransaction.Data }; } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(resultTransactionSend)); }
public async Task <IActionResult> GetBenericiairyList() { List <BeneficiaryFrontList> beneficiaryResponse = new List <BeneficiaryFrontList>(); try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var beneficiaryList = _broker.GetFromBroker <GetBeneficiaryList>(new GetBeneficiaryList() { DocumentId = jwt.UserName }); if (beneficiaryList == null && string.IsNullOrEmpty(beneficiaryList.CodigoError)) { return(StatusCode(502, "Error de comunicacion con los sistemas externos.")); } if (beneficiaryList.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(beneficiaryList.DescripcionError) ? beneficiaryList.DescripcionError : "Hubo un inconveniente al tratar de recuperar los beneficiarios"))); } foreach (var beneficiary in beneficiaryList.Data) { beneficiaryResponse.Add(new BeneficiaryFrontList() { Id = beneficiary.beneficiaryId.ToString(), Image = beneficiary.photoImage, Name = beneficiary.name }); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(beneficiaryResponse)); }
private async Task <AddOrUpdateBeneficiary> SaveBeneficiaryBroker(dynamic beneficiary) { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var _beneficiary = new AddOrUpdateBeneficiary() { DocumentId = jwt.UserName, FullName = beneficiary.Name, BeneficiaryProducts = SplitBeneficiaryProducts(beneficiary.PaymeId, beneficiary.Phones, beneficiary.Products) }; if (StringHelper.IsPropertyExist(beneficiary, "Id")) { _beneficiary.BeneficiaryId = beneficiary.Id; } await Task.CompletedTask; return(_broker.SendBroker <AddOrUpdateBeneficiary>(_beneficiary)); }
public void JwtData_With_Ctor_Params() { var headers = new Dictionary <string, string> { { "test", "header" } }; var payload = new Dictionary <string, object> { { "test", "payload" } }; var jwtData = new JwtData(headers, payload); Assert.Equal(jwtData.Header["test"], "header"); Assert.Equal(jwtData.Payload["test"], "payload"); jwtData.Payload.Add("payload01", "payload02"); Assert.Equal(jwtData.Payload["payload01"], "payload02"); }
public static JwtData Deserialize(string content) { var result = new JwtData(); Dictionary <string, object> dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(content); if (dict.ContainsKey("error")) { result.Error = dict["error"].ToString(); result.ErrorDescription = dict.ContainsKey("error_description") ? dict["error_description"].ToString() : ""; } if (dict.ContainsKey("access_token")) { //result.ClientId = dict["client_id"].ToString(); result.AccessToken = dict["access_token"].ToString(); result.TokenType = dict["token_type"].ToString(); result.ExpiresInSeconds = Convert.ToInt32(dict["expires_in"]); result.IssuedOn = DateTime.UtcNow; } return(result); }
public async Task <IActionResult> GetTransactions(string account) { List <HistoryTransaction> listTransaction = new List <HistoryTransaction>(); try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var responseListTransaction = _broker.SendBroker <JsonRequestGeneric>( new JsonRequestGeneric("GetGeneric") { EndPoint = "transaction/getList?Account=" + account } ); if (responseListTransaction == null && string.IsNullOrEmpty(responseListTransaction.CodigoError)) { return(StatusCode(502, "Error de comunicacion con los sistemas externos.")); } if (responseListTransaction.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(responseListTransaction.DescripcionError) ? responseListTransaction.DescripcionError : "Hubo un inconveniente al tratar de recuperar los beneficiarios"))); } if (responseListTransaction.Data != null) { listTransaction = JsonConvert.DeserializeObject <List <HistoryTransaction> >(responseListTransaction.Data.ToString()); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(listTransaction)); }
public async Task <IActionResult> GetQrPin(string Pin) { TransactionQrCodeResp trxQr; try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var responsepinqrcode = _broker.SendBroker <JsonRequestGeneric>( new JsonRequestGeneric("GetGeneric") { EndPoint = "pinqrcode/getByPin?pin=" + Pin } ); if (responsepinqrcode == null && string.IsNullOrEmpty(responsepinqrcode.CodigoError)) { return(StatusCode(502, "Error de comunicacion con los sistemas externos.")); } if (responsepinqrcode.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(responsepinqrcode.DescripcionError) ? responsepinqrcode.DescripcionError : "Hubo un inconveniente al tratar de recuperar los beneficiarios"))); } trxQr = JsonConvert.DeserializeObject <TransactionQrCodeResp>(responsepinqrcode.Data.ToString()); } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(trxQr)); }
public async Task <IActionResult> GetSavingsPlan() { SavingPlan savingPlan; try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var responseSavingPlan = _broker.SendBroker <JsonRequestGeneric>( new JsonRequestGeneric("GetGeneric") { EndPoint = "client/saveSavingsPlan?documentId=" + jwt.UserName + "&" + jwt.DocumentType } ); if (responseSavingPlan == null && string.IsNullOrEmpty(responseSavingPlan.CodigoError)) { return(StatusCode(502, "Error de comunicacion con los sistemas externos.")); } if (responseSavingPlan.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(responseSavingPlan.DescripcionError) ? responseSavingPlan.DescripcionError : "Hubo un inconveniente al tratar de obtener el plan de ahorro de un cliente"))); } savingPlan = JsonConvert.DeserializeObject <SavingPlan>(responseSavingPlan.Data.ToString()); } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(savingPlan)); }
public async Task <IActionResult> AddQrPin(TransactionQrCode trxQr) { string pinqr; try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var mapper = Utilitary.CreateMapper <TransactionQrCode, TransactionQrCodeBroker>(); var trxQrMapped = mapper(trxQr); trxQrMapped.EndPoint = "pinqrcode/add"; trxQrMapped.FunctionName = Utilitary.postGenericBroker; var responseAddpinqrcode = _broker.SendBroker <JsonResponseGeneric>(trxQrMapped); if (responseAddpinqrcode == null && string.IsNullOrEmpty(responseAddpinqrcode.CodigoError)) { return(StatusCode(502, "Error de comunicacion con los sistemas externos.")); } if (responseAddpinqrcode.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(responseAddpinqrcode.DescripcionError) ? responseAddpinqrcode.DescripcionError : "Hubo un inconveniente al tratar de recuperar los beneficiarios"))); } pinqr = JsonConvert.DeserializeObject <string>(responseAddpinqrcode.Data.ToString()); } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(pinqr)); }
public async Task <IActionResult> ValidatePersonalKeyCard(ValidateKeyCard keyCard) { try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var type = string.IsNullOrEmpty(jwt.DocumentType) ? UserType.Personal : UserType.Empresarial; Coordenate coordenate = await _authPersonalRepository.GetKeyCardCoordenate(type); var brokerResponse = _authPersonalRepository.ValidateKeyCard(UserType.Personal, new KeyCardBase() { KeyCardCoordinate = coordenate.positionNumber, KeyCardValue = keyCard.Value, UserName = jwt.UserName }); if (string.IsNullOrEmpty(brokerResponse.validated.ToString())) { return(StatusCode(502, Enums.GetEnumDescription(ApiMessages.BrokerNoResponse))); } if (brokerResponse.validated == false) { return(BadRequest(new FrontStatusCode("Valor de la tarjéta de claves incorrecto"))); } } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok()); }
public async Task <IActionResult> Get() { Profile profile = new Profile(); try { JwtData jwtToken = (JwtData)RouteData.Values["jwtData"]; var genericRequest = new GetGeneric <GenericProfile>(GenericEndPoints.ClientGet, jwtToken.UserName); var response = _broker.SendBroker <MQResponse4 <GenericProfile> >(genericRequest); if (response.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(response.DescripcionError) ? response.DescripcionError : "Hubo un inconveniente al tratar de recuperar el perfil de usuario"))); } profile = new Profile() { Email = response.Data.Email, Name = response.Data.FullName, PayMeID = response.Data.PaymeId, Image = response.Data.PhotoImage, ExistInAlternateDomain = false }; } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(profile)); }
public static AuthResponseData CreateAuthResponseData(Guid userAppKey, string userLogin, string systemAuthSecretKey, JwtData payloadData) { if (userAppKey != Guid.Empty && !string.IsNullOrEmpty(userLogin) && !string.IsNullOrEmpty(systemAuthSecretKey) && systemAuthSecretKey.Length < 20) { return(null); } // validate dates if (payloadData.CreateDate >= payloadData.ExpirationDate) { throw new InvalidDataException("CreateDate >= ExpirationDate"); } if (DateTime.UtcNow >= payloadData.ExpirationDate) { throw new InvalidDataException("DateTime.UtcNow >= ExpirationDate"); } var tokenHandler = new JwtSecurityTokenHandler(); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new[] { new Claim("UserAppKey", payloadData.UserAppKey.ToString()), new Claim("CreateDate", payloadData.CreateDate.ToString(CultureInfo.CurrentCulture)), new Claim("ExpirationDate", payloadData.ExpirationDate.ToString(CultureInfo.CurrentCulture)), }), Expires = payloadData.ExpirationDate, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(systemAuthSecretKey ?? string.Empty)), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateJwtSecurityToken(tokenDescriptor); var barerToken = tokenHandler.WriteToken(token); return(new AuthResponseData { UserAppKey = userAppKey, UserEmail = userLogin, BarerToken = barerToken }); }
public Authenticate.Response Authenticate(Authenticate.Request dto) { //Recupera o usuário var usuarioModel = this.ConsultaUsuario(new EFTJUserweb() { Login = dto.Login }); if (usuarioModel == null) { usuarioModel = this.ConsultaUsuario(new EFTJUserweb() { CPF = dto.Login }); } if (usuarioModel == null) { return(null); } var password = String.Join("", System.Security.Cryptography.SHA1.Create().ComputeHash( Encoding.UTF8.GetBytes( String.Concat(usuarioModel.pwdKey, dto.Password) ) ).Select(x => x.ToString("X2"))).ToLower(); //Valida o Usuário e Senha this.Login(new SGDAU.Seguranca.Domain.Models.EFTJUserweb() { Login = dto.Login, PassWord = password }); var jwtData = new JwtData() { AllocatedVaraID = usuarioModel.VaraAlocacao, BusinessUnitID = usuarioModel.EFTJUnidadeID, PrinterID = usuarioModel.EFTJImpressoraID, RegionID = usuarioModel.EFRegiaoID, GroupID = usuarioModel.EFGrupoID, CategoryID = usuarioModel.Categoria, Name = usuarioModel.Nome, Login = dto.Login, UserID = usuarioModel.EFUserID, ClientID = dto.ClientId }; //Calcula o hash de validação com os dados do usuário jwtData.Hash = JwtData.CalculateHash(this.configurationService, jwtData); //Gera o token JWT var audience = dto.ClientId; var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(this.configurationService.GetSection("Authentication:SecretKey").Value); var tokenDescriptor = new SecurityTokenDescriptor { Issuer = this.configurationService.GetSection("Authentication:IssuerName").Value, IssuedAt = DateTime.UtcNow, NotBefore = DateTime.UtcNow, Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, usuarioModel.Nome), new Claim(ClaimTypes.UserData, Newtonsoft.Json.JsonConvert.SerializeObject(jwtData)) }), Expires = DateTime.UtcNow.AddHours(8), Audience = audience, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; ////Limpa a lista de Acessos do UserData //jwtData.AccessPermissions = new AccessDTO[0]; return(new Authenticate.Response() { UserData = jwtData, Token = tokenHandler.WriteToken(tokenHandler.CreateToken(tokenDescriptor)) }); }
public JwtAuth(JwtToken authToken) : base(AuthType.Jwt, "") { m_authData = JwtData.InitByExternalToken(authToken); m_authFlow = AuthFlow.Obtained; ExternalAuth = true; }
protected override void AuthDataDeserializeImpl(string content) { m_authData = JwtData.Deserialize(content); }
private JsonWebToken(JwtData data) => Data = data;
public async Task <IActionResult> GetBenericiairy(string id) { Beneficiary beneficiaryResponse = new Beneficiary(); try { JwtData jwt = (JwtData)RouteData.Values["jwtData"]; var response = _broker.GetFromBroker <GetBeneficiary>(new GetBeneficiary() { DocumentId = jwt.UserName, BeneficiaryId = id }); if (response == null || string.IsNullOrEmpty(response.CodigoError)) { return(StatusCode(502, "Error de comunicacion con los sistemas externos.")); } if (response.CodigoError != Enums.GetEnumDescription(ResponseCode.Success)) { return(BadRequest(new FrontStatusCode(!string.IsNullOrEmpty(response.DescripcionError) ? response.DescripcionError : "Hubo un inconveniente al tratar de recuperar el beneficiario"))); } var paymeId = response.Data.ListBeneficiaryProducts != null?response.Data.ListBeneficiaryProducts.FirstOrDefault(p => p.beneficiaryProductTypeId == (int)ProductType.PaymeId) : new BeneficiaryProduct(); var phones = response.Data.ListBeneficiaryProducts != null?response.Data.ListBeneficiaryProducts.Where(m => m.beneficiaryProductTypeId == (int)ProductType.Phone && m.beneficiaryProductTypeId != (int)ProductType.PaymeId).Select(x => new BeneficiaryProduct() { beneficiaryId = x.beneficiaryProductId, value = x.value, beneficiaryProductTypeId = x.beneficiaryProductTypeId }).ToList() : new List <BeneficiaryProduct>(); var products = response.Data.ListBeneficiaryProducts != null?response.Data.ListBeneficiaryProducts.Where(m => m.beneficiaryProductTypeId != (int)ProductType.Phone && m.beneficiaryProductTypeId != (int)ProductType.PaymeId).Select(x => new BeneficiaryProduct() { beneficiaryId = x.beneficiaryProductId, value = x.value, beneficiaryProductTypeId = x.beneficiaryProductTypeId }).ToList() : new List <BeneficiaryProduct>(); beneficiaryResponse = new Beneficiary() { Id = response.Data.beneficiaryId.ToString(), Image = response.Data.photoImage, Name = response.Data.name, PaymeId = paymeId != null ? paymeId.value : string.Empty, Phones = phones != null?phones.Select(x => new BeneficiaryProducts() { Id = x.beneficiaryProductId, Product = x.value, ProductType = (ProductType)x.beneficiaryProductTypeId }).ToList() : new List <BeneficiaryProducts>(), Products = products != null?products.Select(x => new BeneficiaryProducts() { Id = x.beneficiaryProductId, Product = x.value, ProductType = (ProductType)x.beneficiaryProductTypeId }).ToList() : new List <BeneficiaryProducts>() }; } catch (Exception ex) { return(StatusCode(500, string.Format($"{Enums.GetEnumDescription(ApiMessages.DefaultError)} {ex.Message} "))); } await Task.CompletedTask; return(Ok(beneficiaryResponse)); }