ReviewR.Web.Services.Utils.UtilWorker.GetActiveSessionToken C# (CSharp) Method

GetActiveSessionToken() public method

public GetActiveSessionToken ( System.Web.HttpContextBase context ) : SessionToken
context System.Web.HttpContextBase
return ReviewR.Web.Models.SessionToken
            public SessionToken GetActiveSessionToken(HttpContextBase context)
            {
                Requires.NotNull(context, "context");

                HttpCookie cookie = context.Request.Cookies[ReviewRApiController.CookieName];
                SessionToken token = null;
                if (cookie != null)
                {
                    try
                    {
                        token = Tokens.UnprotectToken(HttpUtility.UrlDecode(cookie.Value), ReviewRApiController.Purpose);
                    }
                    catch (Exception) {
                        // Token is invalid, just clear it
                        return null;
                    }
                }
                return token;
            }

Usage Example

Esempio n. 1
0
            public void ReturnsNullIfCookieIsUnsupportedVersion()
            {
                // Arrange
                var context = new Mock<HttpContextBase>();
                var tokens = new Mock<TokenService>();
                var utils = new Utils.UtilWorker(tokens.Object);
                context.Setup(c => c.Request.Cookies)
                       .Returns(() => new HttpCookieCollection() {
                           new HttpCookie(ReviewRApiController.CookieName, "COOK%20IE!?")
                       });
                tokens.Setup(t => t.UnprotectToken("COOK IE!?", ReviewRApiController.Purpose))
                      .Throws<NotSupportedException>();

                // Act
                Assert.Null(utils.GetActiveSessionToken(context.Object));
            }