public async Task SendValidToken() { JwtService service = new JwtService(ValidKey , "Xari"); JwtPayload InitialPayload; InitialPayload = new JwtPayload { { "UserOid", "001" }, { JwtRegisteredClaimNames.Iat, service.DateToNumber(DateTime.Now).ToString() }, { JwtRegisteredClaimNames.Iss, "Xari" }, }; var StringToken = service.JwtPayloadToToken(InitialPayload); var Headers = new RequestHeadersCollection(); Headers.Add("AuthId", "db1"); Headers.Add("Authorization", StringToken); client = new Client(new NewtonsoftSerializationAdapter(), createHttpClient: (name) => _testServerHttpClientFactory.CreateClient()); Uri resource = new Uri(UriString); var result = await client.GetAsync <string>(resource, Headers); Assert.AreEqual("It's working", result.Body); }
public void GenerateValidToken_ShouldPass() { var Dictionary = _configurationResolverBase.GetById("db1"); JwtService service = new JwtService(Dictionary["Key"], Dictionary["ValidIssuer"]); JwtPayload InitialPayload; InitialPayload = new JwtPayload { { "UserOid ", "001" }, { JwtRegisteredClaimNames.Iat, service.DateToNumber(DateTime.Now).ToString() }, { JwtRegisteredClaimNames.Iss, Dictionary["ValidIssuer"] }, }; var StringToken = service.JwtPayloadToToken(InitialPayload); Debug.WriteLine(string.Format("{0}:{1}", "Token", StringToken)); Assert.True(service.VerifyToken(StringToken)); }
public void SendInvalidToken() { JwtService service = new JwtService(InvalidKey , "Xari"); JwtPayload InitialPayload; InitialPayload = new JwtPayload { { "UserOid", "001" }, { JwtRegisteredClaimNames.Iat, service.DateToNumber(DateTime.Now).ToString() }, { JwtRegisteredClaimNames.Iss, "Xari" }, }; var StringToken = service.JwtPayloadToToken(InitialPayload); var Headers = new RequestHeadersCollection(); Headers.Add("AuthId", "db1"); Headers.Add("Authorization", StringToken); client = new Client(new NewtonsoftSerializationAdapter(), createHttpClient: (name) => _testServerHttpClientFactory.CreateClient()); Uri resource = new Uri(UriString); string result = string.Empty; Assert.Throws <HttpStatusException>( () => { try { result = client.GetAsync <string>(resource, Headers).Result; } catch (Exception ex) { throw ex.InnerException; } }); }
public void GenerateTokenWithInvalidKey_ShouldFail() { var Dictionary = _configurationResolverBase.GetById("db1"); JwtService service = new JwtService("InvalidKey", Dictionary["ValidIssuer"]); JwtPayload InitialPayload; InitialPayload = new JwtPayload { { "UserOid ", "001" }, { JwtRegisteredClaimNames.Iat, service.DateToNumber(DateTime.Now).ToString() }, { JwtRegisteredClaimNames.Iss, Dictionary["ValidIssuer"] }, }; Assert.Throws <ArgumentException>(() => service.JwtPayloadToToken(InitialPayload) ); }
public void CompareTokens_ShouldPass() { var Dictionary = _configurationResolverBase.GetById("db1"); JwtService service = new JwtService(Dictionary["Key"], Dictionary["ValidIssuer"]); JwtPayload InitialPayload; InitialPayload = new JwtPayload { { "UserOid ", "001" }, { JwtRegisteredClaimNames.Iat, service.DateToNumber(DateTime.Now).ToString() }, { JwtRegisteredClaimNames.Iss, Dictionary["ValidIssuer"] }, }; var StringToken = service.JwtPayloadToToken(InitialPayload); Debug.WriteLine(string.Format("{0}:{1}", "Token", StringToken)); var PayloadFromValidation = service.TokenToJwtPayload(StringToken); Assert.AreEqual(InitialPayload.SerializeToJson(), PayloadFromValidation.SerializeToJson()); }