Ejemplo n.º 1
0
        /// <summary>
        /// devuelve la página principal con la lista de apis disponibles
        /// </summary>
        /// <returns></returns>
        public IActionResult Index()
        {
            GetTokenViewModel tokenViewModel = new GetTokenViewModel();

            tokenViewModel.TokenOptions = LoadTokenList();
            return(View(tokenViewModel));
        }
Ejemplo n.º 2
0
        public async Task <GetTokenViewModel> GetToken(LoginViewModel model)
        {
            ClaimsIdentity identity = await GetIdentity(model);

            DateTime currentDate = DateTime.Now;

            var jwt = new JwtSecurityToken
                      (
                issuer: AuthHelper.Issuer,
                audience: AuthHelper.Audience,
                notBefore: currentDate,
                claims: identity.Claims,
                expires: currentDate.Add(TimeSpan.FromMinutes(AuthHelper.Lifetime)),
                signingCredentials: new SigningCredentials(_authHelper.GetSymmetricSecurityKey(), SecurityAlgorithms.HmacSha256Signature)
                      );

            string encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt);

            var response = new GetTokenViewModel
            {
                AccessToken = encodedJwt,
                Username    = identity.Name
            };

            return(response);
        }
Ejemplo n.º 3
0
        private async Task <ApiResponse <TokenViewModel> > GetToken(GetTokenViewModel model)
        {
            var apiResp = new ApiResponse <TokenViewModel>
            {
                Type = ResponseType.Fail
            };

            var applicationUser = new ApplicationUser
            {
                Email    = model.EmailOrUsername,
                UserName = model.EmailOrUsername
            };

            var securityResp = await _security.GetToken(applicationUser, model.Password);

            if (securityResp.Type != ResponseType.Success)
            {
                apiResp.ErrorCode = securityResp.ErrorCode;
                return(apiResp);
            }

            var viewModel = new TokenViewModel
            {
                Id          = applicationUser.Id.ToString(),
                Username    = applicationUser.UserName,
                AccessToken = securityResp.Data,
                Email       = applicationUser.Email,
                NameSurname = applicationUser.NameSurname
            };

            apiResp.Data = viewModel;
            apiResp.Type = ResponseType.Success;

            return(apiResp);
        }
        public async Task <IActionResult> Token([FromBody] GetTokenViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(GetModelStateErrorResponse(ModelState)));
            }

            var resp = await GetToken(model);

            if (resp.Type != ResponseType.Success)
            {
                return(BadRequest(resp));
            }

            return(Ok(resp));
        }
        public async Task <IActionResult> GenerateToken(GetTokenViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(model.Username);

                if (user != null)
                {
                    var result = await _signInManager.CheckPasswordSignInAsync(user, model.Password, false);

                    if (result.Succeeded)
                    {
                        var claims = new[]
                        {
                            new Claim(JwtRegisteredClaimNames.Sub, user.Email),
                            new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                            new Claim(ClaimTypes.Name, user.Email)
                        };

                        var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("LONG_LONG_HARD_KEY_1234567890"));
                        var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                        var token = new JwtSecurityToken(
                            issuer: JwtConfigConstants.Issuer,
                            claims: claims,
                            expires: model.RememberMe ? DateTime.Now.AddMonths(1) : DateTime.Now.AddDays(1),
                            signingCredentials: creds);

                        return(Ok(new {
                            accessToken = new JwtSecurityTokenHandler().WriteToken(token),
                            expiresIn = 30 * 60,
                            tokenType = "Bearer"
                        }));
                    }
                }

                return(Unauthorized());
            }

            return(BadRequest("Could not create token"));
        }
Ejemplo n.º 6
0
        public IActionResult GetToken(int token_Type)
        {
            GetTokenViewModel tokenViewModel = new GetTokenViewModel();

            tokenViewModel.Token = "Token no disponible";
            TokenBearer token = null;

            if (token_Type.Equals((int)TokensEnum.TokenCarga))
            {
                token = _callTokenService.CallTokenCarga();
            }
            else if (token_Type.Equals((int)TokensEnum.TokenCron))
            {
                token = _callTokenService.CallTokenCron();
            }
            else if (token_Type.Equals((int)TokensEnum.TokenUrisFactory))
            {
                token = _callTokenService.CallTokenUrisFactory();
            }
            else if (token_Type.Equals((int)TokensEnum.TokenOAIPMH))
            {
                token = _callTokenService.CallTokenOAIPMH();
            }
            else if (token_Type.Equals((int)TokensEnum.TokenDocumentacion))
            {
                token = _callTokenService.CallTokenApiDocumentacion();
            }
            else if (token_Type.Equals((int)TokensEnum.TokenConversor))
            {
                token = _callTokenService.CallTokenConversor();
            }

            if (token != null)
            {
                tokenViewModel.Token = $"{token.token_type} {token.access_token}";
            }

            tokenViewModel.TokenOptions = LoadTokenList();
            return(View("Index", tokenViewModel));
        }