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]); } }
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]); } }
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); }
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); }
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 }
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."); }