Пример #1
0
        public static bool CookieValidate(HttpContext context, TryConvert2ClaimsIdentity tryConvert2ClaimsIdentity)
        {
            var userId = context.Request.Cookies["UserID"];

            if (!string.IsNullOrWhiteSpace(userId))
            {
                tryConvert2ClaimsIdentity(CustomAuthorizationScheme.Cookie, userId, out var identity);
                if (identity != null)
                {
                    context.User = new ClaimsPrincipal(identity);
                    return(true);
                }
            }
            return(false);
        }
Пример #2
0
        public static bool AccessTokenValidate(HttpContext context, TryConvert2ClaimsIdentity tryConvert2ClaimsIdentity)
        {
            var url = context.Request.Path.ToString();

            if (url.Contains("access_token"))
            {
                var accessToken = context.Request.Query["access_token"];
                if (!string.IsNullOrEmpty(accessToken))
                {
                    tryConvert2ClaimsIdentity(CustomAuthorizationScheme.GUID, accessToken, out var identity);
                    if (identity != null)
                    {
                        context.User = new ClaimsPrincipal(identity);
                        return(true);
                    }
                }
            }
            return(false);
        }
Пример #3
0
        public static bool JwtTokenValidate(HttpContext context, TryConvert2ClaimsIdentity tryConvert2ClaimsIdentity)
        {
            string authorization = context.Request.Headers["Authorization"];

            if (!string.IsNullOrEmpty(authorization) && authorization.Contains(".") &&
                authorization.StartsWith("User ", StringComparison.OrdinalIgnoreCase))
            {
                var tokenValue = authorization.Substring("User ".Length).Trim();
                var jwtHeader  = JWT.Headers(tokenValue);
                if ((jwtHeader["alg"] == null || !jwtHeader["alg"].Equals("RSA1_5")) ||
                    (jwtHeader["enc"] == null || !jwtHeader["enc"].Equals("A256GCM")))
                {
                    return(false);
                }
                tryConvert2ClaimsIdentity(CustomAuthorizationScheme.User, tokenValue, out var identity);
                if (identity != null)
                {
                    context.User = new ClaimsPrincipal(identity);
                    return(true);
                }
            }
            return(false);
        }