From cfc05104e416f253bdfc07603f3e387c77aea975 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Thu, 24 Aug 2017 11:27:06 -0700 Subject: [PATCH] Updated to use WebEncoders utility's Base64Url encode/decode functionality --- .../ViewFeatures/CookieTempDataProvider.cs | 4 ++-- .../ViewFeatures/CookieTempDataProviderTest.cs | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Microsoft.AspNetCore.Mvc.ViewFeatures/ViewFeatures/CookieTempDataProvider.cs b/src/Microsoft.AspNetCore.Mvc.ViewFeatures/ViewFeatures/CookieTempDataProvider.cs index aef94f7fd1..073c400f78 100644 --- a/src/Microsoft.AspNetCore.Mvc.ViewFeatures/ViewFeatures/CookieTempDataProvider.cs +++ b/src/Microsoft.AspNetCore.Mvc.ViewFeatures/ViewFeatures/CookieTempDataProvider.cs @@ -59,7 +59,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures var encodedValue = _chunkingCookieManager.GetRequestCookie(context, _options.Cookie.Name); if (!string.IsNullOrEmpty(encodedValue)) { - var protectedData = Base64UrlTextEncoder.Decode(encodedValue); + var protectedData = WebEncoders.Base64UrlDecode(encodedValue); var unprotectedData = _dataProtector.Unprotect(protectedData); var tempData = _tempDataSerializer.Deserialize(unprotectedData); @@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures { var bytes = _tempDataSerializer.Serialize(values); bytes = _dataProtector.Protect(bytes); - var encodedValue = Base64UrlTextEncoder.Encode(bytes); + var encodedValue = WebEncoders.Base64UrlEncode(bytes); _chunkingCookieManager.AppendResponseCookie(context, _options.Cookie.Name, encodedValue, cookieOptions); } else diff --git a/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/ViewFeatures/CookieTempDataProviderTest.cs b/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/ViewFeatures/CookieTempDataProviderTest.cs index b8754f6b1b..f0f2203e6d 100644 --- a/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/ViewFeatures/CookieTempDataProviderTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/ViewFeatures/CookieTempDataProviderTest.cs @@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures var tempDataProviderStore = new TempDataSerializer(); var expectedDataToProtect = tempDataProviderStore.Serialize(values); - var expectedDataInCookie = Base64UrlTextEncoder.Encode(expectedDataToProtect); + var expectedDataInCookie = WebEncoders.Base64UrlEncode(expectedDataToProtect); var tempDataProvider = GetProvider(dataProtector: null, options: new CookieTempDataProviderOptions() { Cookie = { Name = expectedCookieName } @@ -83,7 +83,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures inputData.Add("int", 10); var tempDataProviderSerializer = new TempDataSerializer(); var expectedDataToUnprotect = tempDataProviderSerializer.Serialize(inputData); - var base64AndUrlEncodedDataInCookie = Base64UrlTextEncoder.Encode(expectedDataToUnprotect); + var base64AndUrlEncodedDataInCookie = WebEncoders.Base64UrlEncode(expectedDataToUnprotect); var context = new DefaultHttpContext(); context.Request.Cookies = new RequestCookieCollection(new Dictionary() @@ -110,7 +110,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures expectedValues.Add("int", 10); var tempDataProviderSerializer = new TempDataSerializer(); var expectedDataToUnprotect = tempDataProviderSerializer.Serialize(expectedValues); - var base64AndUrlEncodedDataInCookie = Base64UrlTextEncoder.Encode(expectedDataToUnprotect); + var base64AndUrlEncodedDataInCookie = WebEncoders.Base64UrlEncode(expectedDataToUnprotect); var dataProtector = new PassThroughDataProtector(); var tempDataProvider = GetProvider(dataProtector); var requestCookies = new RequestCookieCollection(new Dictionary() @@ -138,7 +138,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures values.Add("int", 10); var tempDataProviderStore = new TempDataSerializer(); var expectedDataToProtect = tempDataProviderStore.Serialize(values); - var expectedDataInCookie = Base64UrlTextEncoder.Encode(expectedDataToProtect); + var expectedDataInCookie = WebEncoders.Base64UrlEncode(expectedDataToProtect); var dataProtector = new PassThroughDataProtector(); var tempDataProvider = GetProvider(dataProtector); var responseCookies = new MockResponseCookieCollection(); @@ -171,7 +171,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures values.Add("int", 10); var tempDataProviderStore = new TempDataSerializer(); var expectedDataToProtect = tempDataProviderStore.Serialize(values); - var expectedDataInCookie = Base64UrlTextEncoder.Encode(expectedDataToProtect); + var expectedDataInCookie = WebEncoders.Base64UrlEncode(expectedDataToProtect); var dataProtector = new PassThroughDataProtector(); var tempDataProvider = GetProvider(dataProtector); var responseCookies = new MockResponseCookieCollection(); @@ -216,7 +216,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures values.Add("int", 10); var tempDataProviderStore = new TempDataSerializer(); var expectedDataToProtect = tempDataProviderStore.Serialize(values); - var expectedDataInCookie = Base64UrlTextEncoder.Encode(expectedDataToProtect); + var expectedDataInCookie = WebEncoders.Base64UrlEncode(expectedDataToProtect); var dataProtector = new PassThroughDataProtector(); var tempDataProvider = GetProvider(dataProtector); var responseCookies = new MockResponseCookieCollection(); @@ -266,7 +266,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures values.Add("int", 10); var tempDataProviderStore = new TempDataSerializer(); var expectedDataToProtect = tempDataProviderStore.Serialize(values); - var expectedDataInCookie = Base64UrlTextEncoder.Encode(expectedDataToProtect); + var expectedDataInCookie = WebEncoders.Base64UrlEncode(expectedDataToProtect); var dataProtector = new PassThroughDataProtector(); var tempDataProvider = GetProvider( dataProtector, @@ -314,7 +314,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures values.Add("int", 10); var tempDataProviderStore = new TempDataSerializer(); var serializedData = tempDataProviderStore.Serialize(values); - var base64AndUrlEncodedData = Base64UrlTextEncoder.Encode(serializedData); + var base64AndUrlEncodedData = WebEncoders.Base64UrlEncode(serializedData); var dataProtector = new PassThroughDataProtector(); var tempDataProvider = GetProvider(dataProtector); var requestCookies = new RequestCookieCollection(new Dictionary()