public static IServiceCollection AddJWT(this IServiceCollection services)
        {
            //JWT
            JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
            JwtSecurityTokenHandler.DefaultOutboundClaimTypeMap.Clear();
            services.AddAuthentication(options =>
            {
                //Use Schemes
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultSignInScheme       = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultSignOutScheme      = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultForbidScheme       = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            })
            //JWT settings
            .AddJwtBearer(options =>
            {
                options.IncludeErrorDetails       = true;
                options.RequireHttpsMetadata      = false;
                options.SaveToken                 = true;
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    IssuerSigningKeyValidator = (sk, st, tvp) => JWTProvider.ValidateTokenHandle(sk, st, tvp, services.BuildServiceProvider().GetService <SignInManager <IdentityUser> >()), //Validation callback
                    ValidateIssuer            = true,
                    ValidateAudience          = true,
                    ValidateLifetime          = true,
                    ValidateIssuerSigningKey  = true,
                    ValidIssuer      = "localhost:53672",
                    ValidAudience    = "localhost:53672",
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.Default.GetBytes("68906561-B44A-4083-9DBC-A57FAC481DDF"))
                };
            });

            return(services);
        }
Example #2
0
        public ActionResult Authorize()
        {
            var userName = Request.Form["userName"].ToString();
            var password = Request.Form["password"].ToString();

            var tokenProvider = new JWTProvider(_context, _configuration);
            var token         = tokenProvider.GetToken(userName, password);

            if (token == null)
            {
                return(Ok(new
                {
                    userName,
                    token = string.Empty
                }));
            }

            return(Ok(new {
                userName,
                token
            }));
        }
Example #3
0
 public static Customer ToUser(this string token)
 {
     Console.WriteLine(token);
     return(JWTProvider.DecryptJWT(token));
 }
 public UserController(UserRepository userRepository, JWTProvider jwtHelper)
 {
     _userRepository = userRepository;
     _jwtHelper      = jwtHelper;
 }
Example #5
0
 public UserController(IUserService userService, IMapper mapper, JWTProvider jwtProvider)
 {
     _userService = userService;
     _mapper      = mapper;
     _jwtProvider = jwtProvider;
 }
 public BusinessController(IBusinessService businessService, IMapper mapper, JWTProvider jwtProvider)
 {
     _businessService = businessService;
     _mapper          = mapper;
     _jwtProvider     = jwtProvider;
 }