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);
        }
예제 #2
0
        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;
                }
            });
        }
예제 #4
0
        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)

                                              );
        }
예제 #5
0
        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());
        }