コード例 #1
0
        public void Roundtrip_BugWithPath(TokenTypes types)
        {
            var parameters = new Dictionary <string, string>
            {
                { "template", "thumbnailUrl" },
                { "url", "C:\\Work\\Samsung\\InMotion\\InMotion.Frontend\\media\\1594\\jazz-initiative.jpg" },
            };

            List <string> keysAndValues = new List <string>(parameters.Count * 2);

            foreach (var keyValuePair in parameters)
            {
                keysAndValues.Add(keyValuePair.Key);
                keysAndValues.Add(keyValuePair.Value);
            }

            SecureTokenBuilder tokenBuilder = new SecureTokenBuilder("2z!6Wd0vghEQtkalNS9a", types);
            string             token        = tokenBuilder.EncodeObject(keysAndValues.ToArray());

            string[] values = (string[])tokenBuilder.DecodeObject(token);

            for (int i = 0; i < keysAndValues.Count; ++i)
            {
                Assert.AreEqual(keysAndValues[i], values[i]);
            }
        }
コード例 #2
0
        public void Roundtrip_BugWithPath(TokenTypes types)
        {
            var parameters = new Dictionary<string, string>
            {
                { "template", "thumbnailUrl" },
                { "url", "C:\\Work\\Samsung\\InMotion\\InMotion.Frontend\\media\\1594\\jazz-initiative.jpg" },
            };

            List<string> keysAndValues = new List<string>(parameters.Count * 2);
            foreach (var keyValuePair in parameters)
            {
                keysAndValues.Add(keyValuePair.Key);
                keysAndValues.Add(keyValuePair.Value);
            }

            SecureTokenBuilder tokenBuilder = new SecureTokenBuilder("2z!6Wd0vghEQtkalNS9a", types);
            string token = tokenBuilder.EncodeObject(keysAndValues.ToArray());

            string[] values = (string[])tokenBuilder.DecodeObject(token);

            for(int i = 0; i < keysAndValues.Count; ++i)
            {
                Assert.AreEqual(keysAndValues[i], values[i]);
            }
        }
コード例 #3
0
        public void Roundtrip(string text, TokenTypes types)
        {
            SecureTokenBuilder builder = new SecureTokenBuilder("p@ssw0rd", types);
            string             token   = builder.EncodeToken(text);
            string             decoded = builder.DecodeToken(token);

            Assert.AreEqual(text, decoded);
        }
コード例 #4
0
        public void Roundtrip(string text, TokenTypes types)
        {
            SecureTokenBuilder builder = new SecureTokenBuilder("p@ssw0rd", types);
            string token = builder.EncodeToken(text);
            string decoded = builder.DecodeToken(token);

            Assert.AreEqual(text, decoded);
        }
コード例 #5
0
        public void TamperWithAuthenticator()
        {
            SecureTokenBuilder builder = new SecureTokenBuilder("p@ssw0rd", TokenTypes.Hashed);
            string             token   = builder.EncodeToken("Hello world");

            token = token.Substring(0, 4) + token.Substring(4, 8) + token.Substring(8);

            builder.DecodeToken(token);
        }
コード例 #6
0
        public void TamperWithAuthenticator()
        {
            SecureTokenBuilder builder = new SecureTokenBuilder("p@ssw0rd", TokenTypes.Hashed);
            string token = builder.EncodeToken("Hello world");

            token = token.Substring(0, 4) + token.Substring(4, 8) + token.Substring(8);

            builder.DecodeToken(token);
        }
コード例 #7
0
        private static void RunToken()
        {
            SecureTokenBuilder tokenBuilder = new SecureTokenBuilder("some random secret string");

            int userId = 12345;
            DateTime expirationDate = DateTime.Now.AddDays(1);

            string encodedToken = tokenBuilder.EncodeArray(userId, expirationDate);
            Console.WriteLine(encodedToken);
            // Output is riUNBja3yrFdL8Lpxb63H_gC-NM2PdvRIwk7FKI53Z382hh1DDcfLQJl6O67PQhGQ2z4GGd0zVA

            object[] decodedToken = tokenBuilder.DecodeArray(encodedToken);
            Console.WriteLine("UserId: {0}, ExpirationDate: {1}", decodedToken[0], decodedToken[1]);
            // Output is UserId: 12345, ExpirationDate: 26-11-2009 13:00:20
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: simonmatt/sixpack-library
        private static void RunToken()
        {
            SecureTokenBuilder tokenBuilder = new SecureTokenBuilder("some random secret string");

            int      userId         = 12345;
            DateTime expirationDate = DateTime.Now.AddDays(1);

            string encodedToken = tokenBuilder.EncodeArray(userId, expirationDate);

            Console.WriteLine(encodedToken);
// Output is riUNBja3yrFdL8Lpxb63H_gC-NM2PdvRIwk7FKI53Z382hh1DDcfLQJl6O67PQhGQ2z4GGd0zVA

            object[] decodedToken = tokenBuilder.DecodeArray(encodedToken);
            Console.WriteLine("UserId: {0}, ExpirationDate: {1}", decodedToken[0], decodedToken[1]);
// Output is UserId: 12345, ExpirationDate: 26-11-2009 13:00:20
        }
コード例 #9
0
        public void RoundtripObject(TokenTypes types)
        {
            var value = new MyClass
            {
                MyString = DataGenerator.RandomAsciiString(20),
                MyDate = DateTime.Now,
            };

            SecureTokenBuilder builder = new SecureTokenBuilder("p@ssw0rd", types);
            string token = builder.EncodeObject(value);
            object decoded = builder.DecodeObject(token);

            Assert.IsAssignableFrom(typeof(MyClass), decoded, "The deserialized object has the wrong type.");

            MyClass decodedObject = (MyClass)decoded;
            Assert.AreEqual(value.MyString, decodedObject.MyString, "The property MyString is incorrect.");
            Assert.AreEqual(value.MyDate, decodedObject.MyDate, "The property MyDate is incorrect.");
        }
コード例 #10
0
        public void RoundtripObject(TokenTypes types)
        {
            var value = new MyClass
            {
                MyString = DataGenerator.RandomAsciiString(20),
                MyDate   = DateTime.Now,
            };


            SecureTokenBuilder builder = new SecureTokenBuilder("p@ssw0rd", types);
            string             token   = builder.EncodeObject(value);
            object             decoded = builder.DecodeObject(token);

            Assert.IsAssignableFrom(typeof(MyClass), decoded, "The deserialized object has the wrong type.");

            MyClass decodedObject = (MyClass)decoded;

            Assert.AreEqual(value.MyString, decodedObject.MyString, "The property MyString is incorrect.");
            Assert.AreEqual(value.MyDate, decodedObject.MyDate, "The property MyDate is incorrect.");
        }