public static Task<bool> CheckAccessAsync(this HttpRequestMessage request, IEnumerable<Claim> scope)
        {
            var authorizationContext = new ScopeAuthorizationContext(
                request.GetOwinContext().Authentication.User ?? new ClaimsPrincipal(new ClaimsIdentity(new List<Claim>(1) { new Claim(ClaimTypes.Name, "") })),
                scope);

            return request.CheckAccessAsync(authorizationContext);
        }
        public static Task<bool> CheckAccessAsync(this HttpRequestMessage request, params string[] scope)
        {
            var user = request.GetRequestContext().Principal as ClaimsPrincipal;
            user = user ?? new ClaimsPrincipal(new ClaimsIdentity(new List<Claim>(1) { new Claim(ClaimTypes.Name, "") }));

            var ctx = new ScopeAuthorizationContext(user, scope);

            return request.CheckAccessAsync(ctx);
        }
 public Task<bool> CheckAccessAsync(ScopeAuthorizationContext context)
 {
     throw new NotImplementedException();
 }
 private static async Task<bool> CheckAccessAsync(this IOwinContext context, ScopeAuthorizationContext authorizationContext)
 {
     return await context.GetAuthorizationManager().CheckAccessAsync(authorizationContext);
 }
 public static Task<bool> CheckAccessAsync(this HttpRequestMessage request, ScopeAuthorizationContext authorizationContext)
 {
     return request.GetOwinContext().CheckAccessAsync(authorizationContext);
 }