Get Token from Http request and decode payloads

Somefunc()
{
    var accessToken = Request.Headers[HeaderNames.Authorization];
    var token = accessToken[0].Split(' ')[1];
    var isValid = Validation.IsValidToken(token);
    if (!isValid)
    {
        var url = string.Format("{0}://{1}{2}", Request.Scheme, Request.Host, Url.Content("~"));
        var redirectUrl = url + $"/Validation?success=false&message{HttpUtility.UrlEncode("Your token expired")}";
        return Redirect(redirectUrl);
    }
    else
    {
        HttpContext.Session.SetString(Sessions.Token.ToString(), token);
    }
}

public static bool IsValidToken(string token)
        {
            string[] parts = token.Split('.');
            //string base64tok = Encoding.UTF8.GetString(Convert.FromBase64String(parts[1]));
            var paddedB64 = parts[1].PadRight(parts[1].Length + (parts[1].Length * 3) % 4, '=');
            var strPayload = Encoding.UTF8.GetString(Convert.FromBase64String(paddedB64));

            var payload = JsonConvert.DeserializeObject<BearerPayload>(strPayload);
            payload.ExpireyDate = new DateTime(1970, 1, 1).AddSeconds(payload.exp);

            if (DateTime.UtcNow > payload.ExpireyDate)
            {
                return false;
            }
            else
            {
                return true;
            }
        }