public ValidateAuthenticationResponse GetResponse(ValidateAuthenticationRequest request) { try { string secret = ServerConfiguration.Instance().ServerSecret; IJsonSerializer serializer = new FastJSONSerializer(); IDateTimeProvider provider = new UtcDateTimeProvider(); IJwtValidator validator = new JwtValidator(serializer, provider); IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder); var json = decoder.Decode(request.AuthenticationToken, secret, true); JWTPayload payload = JSON.ToObject <JWTPayload>(json); return(new ValidateAuthenticationResponse { Code = 200, Claims = payload.Claims }); } catch (Exception) { return(new ValidateAuthenticationResponse { Code = 403 }); } }
public AuthenticationResponse GetResponse(AuthenticationRequest request) { IAuthenticationService authenticationService = new AuthenticationService(); bool isSuccessful = authenticationService.Authenticate(request.Username, request.Password); if (isSuccessful) { List <Claim> claims = new List <Claim> { new Claim(ClaimTypesMetadata.Username, request.Username) }; JWTPayload payload = new JWTPayload { Claims = claims }; string secret = ServerConfiguration.Instance().ServerSecret; IJwtAlgorithm algorithm = new HMACSHA256Algorithm(); IJsonSerializer serializer = new FastJSONSerializer(); IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder); string token = encoder.Encode(payload, secret); return(new AuthenticationResponse { Code = 200, AuthenticationToken = token }); } return(new AuthenticationResponse { Code = 400 }); }