public void T3_VerifyBadJWT() { byte[] key = { 0xDE, 0xAD, 0xBE, 0xEF }; var payload = new JWTPayload { Subject = "24" }; var jwtFactory = new JWTFactory(key); var jwt = jwtFactory.Generate(payload); jwtFactory.Verify(jwt + "deadbeef").Should().BeFalse(); }
public void T1_GenerateJWT() { byte[] key = { 0xDE, 0xAD, 0xBE, 0xEF }; var payload = new JWTPayload { Subject = "12" }; var jwtFactory = new JWTFactory(key); var jwt = jwtFactory.Generate(payload); jwt.Should().Be("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMiJ9.YyJFI-9mZc1w-YX3bjPSRr-kJ7nlzPlMNI4cgwm735A"); }
public void T2_VerifyGoodJWT() { byte[] key = { 0xDE, 0xAD, 0xBE, 0xEF }; var payload = new JWTPayload { Subject = "24" }; var jwtFactory = new JWTFactory(key); var jwt = jwtFactory.Generate(payload); jwtFactory.Verify(jwt).Should().BeTrue(); }
public void T4_ParseJWT() { byte[] key = { 0xDE, 0xAD, 0xBE, 0xEF }; var payload = new JWTPayload { Subject = "42" }; var jwtFactory = new JWTFactory(key); var jwt = jwtFactory.Generate(payload); var parsed = JWTFactory.Parse(jwt); parsed.Subject.Should().Be("42"); parsed.JwtID.Should().BeNull(); }
/// <summary> /// Login the current client with a name. /// </summary> /// <param name="name">The name to login with</param> /// <returns>A LoginResponse with all data</returns> public async Task <LoginResponse> LoginWithName(string name) { var userInfo = getUserInfo(Context); if (userInfo.Value.JwtID != null) { return(new LoginResponse { Success = false }); } string userId = Guid.NewGuid().ToString(); string jwtId = Guid.NewGuid().ToString(); var payload = new JWTPayload { JwtID = jwtId, Name = name, Subject = userId }; string jwt = _jwtFactory.Generate(payload); return(await connectUser(Context, payload, jwt)); }