예제 #1
0
        public Task <SearchResult <UMAPendingRequest> > FindByOwner(string owner, SearchRequestParameter parameter, CancellationToken cancellationToken)
        {
            var filteredUMAPendingRequests = LstData.AsQueryable();

            filteredUMAPendingRequests = filteredUMAPendingRequests.Where(f => f.Owner == owner);
            return(InternalFind(filteredUMAPendingRequests, parameter));
        }
        public Task <SearchResult <UMAResource> > Find(SearchUMAResourceParameter searchRequestParameter, CancellationToken token)
        {
            var filteredUmaResources = LstData.AsQueryable();

            if (!string.IsNullOrWhiteSpace(searchRequestParameter.Subject))
            {
                filteredUmaResources = filteredUmaResources.Where(f => f.Subject == searchRequestParameter.Subject);
            }

            int totalResults = LstData.Count();

            if (searchRequestParameter.SortKey == "CreateDateTime")
            {
                switch (searchRequestParameter.SortOrder)
                {
                case SearchRequestOrders.ASC:
                    filteredUmaResources = filteredUmaResources.OrderBy(p => p.CreateDateTime);
                    break;

                case SearchRequestOrders.DESC:
                    filteredUmaResources = filteredUmaResources.OrderByDescending(p => p.CreateDateTime);
                    break;
                }
            }

            filteredUmaResources = filteredUmaResources.Skip(searchRequestParameter.StartIndex).Take(searchRequestParameter.Count);
            return(Task.FromResult(new SearchResult <UMAResource>
            {
                Records = filteredUmaResources.ToList(),
                TotalResults = totalResults
            }));
        }
예제 #3
0
        public Task <List <JsonWebKey> > GetActiveJsonWebKeys(CancellationToken cancellationToken)
        {
            var currentDateTime = DateTime.UtcNow;
            var result          = LstData.Where(j => j.ExpirationDateTime == null || currentDateTime < j.ExpirationDateTime).Select(j => (JsonWebKey)j.Clone()).ToList();

            return(Task.FromResult(result));
        }
예제 #4
0
        public Task <SearchResult <UMAPendingRequest> > FindByResource(string resourceId, SearchRequestParameter parameter, CancellationToken cancellationToken)
        {
            var filteredUMAPendingRequests = LstData.AsQueryable();

            filteredUMAPendingRequests = filteredUMAPendingRequests.Where(f => f.Resource.Id == resourceId);
            return(InternalFind(filteredUMAPendingRequests, parameter));
        }
        public override Task <bool> Update(SCIMRepresentation data, CancellationToken token)
        {
            var record = LstData.First(l => l.Id == data.Id);

            LstData.Remove(record);
            LstData.Add((SCIMRepresentation)data.Clone());
            return(Task.FromResult(true));
        }
예제 #6
0
        public Task <List <JsonWebKey> > FindJsonWebKeys(Usages usage, string alg, KeyOperations[] operations, CancellationToken cancellationToken)
        {
            var currentDateTime = DateTime.UtcNow;
            var result          = LstData.Where(j =>
                                                (j.ExpirationDateTime == null || currentDateTime < j.ExpirationDateTime) &&
                                                (j.Use == usage && j.Alg == alg && operations.All(o => j.KeyOps.Contains(o)))
                                                ).Select(j => (JsonWebKey)j.Clone()).ToList();

            return(Task.FromResult(result));
        }
        public Task <SearchResult <OAuthScope> > Find(SearchScopeParameter parameter, CancellationToken cancellationToken)
        {
            var result = LstData.AsQueryable();

            if (MAPPING_SCOPE_TO_PROPERTYNAME.ContainsKey(parameter.OrderBy))
            {
                result = result.InvokeOrderBy(MAPPING_SCOPE_TO_PROPERTYNAME[parameter.OrderBy], parameter.Order);
            }

            int totalLength = result.Count();

            result = result.Skip(parameter.StartIndex).Take(parameter.Count);
            return(Task.FromResult(new SearchResult <OAuthScope>
            {
                StartIndex = parameter.StartIndex,
                Count = parameter.Count,
                TotalLength = totalLength,
                Content = result.ToList()
            }));
        }
 public Task <List <OAuthScope> > GetAllOAuthScopesExposed(CancellationToken cancellationToken)
 {
     return(Task.FromResult(LstData.Where(s => s.IsExposedInConfigurationEdp).ToList()));
 }
예제 #9
0
        public Task <JsonWebKey> FindJsonWebKeyById(string kid, CancellationToken cancellationToken)
        {
            var result = LstData.FirstOrDefault(j => j.Kid == kid);

            return(Task.FromResult(result == null ? null : (JsonWebKey)result.Clone()));
        }
예제 #10
0
        public Task <List <JsonWebKey> > GetNotRotatedJsonWebKeys(CancellationToken cancellationToken)
        {
            var result = LstData.Where(j => string.IsNullOrWhiteSpace(j.RotationJWKId)).Select(j => (JsonWebKey)j.Clone()).ToList();

            return(Task.FromResult(result));
        }
예제 #11
0
 public Task <OAuthUser> FindOAuthUserByLoginAndCredential(string login, string credentialType, string credentialValue, CancellationToken token)
 {
     return(Task.FromResult(LstData.FirstOrDefault(u => u.Id == login && u.Credentials.Any(c => c.CredentialType == credentialType && c.Value == credentialValue))));
 }
예제 #12
0
 public Task <OAuthUser> FindOAuthUserByClaim(string claimType, string claimValue, CancellationToken token)
 {
     return(Task.FromResult(LstData.FirstOrDefault(u => u.Claims.Any(c => c.Type == claimType && c.Value == claimValue))));
 }
예제 #13
0
 public Task <OAuthUser> FindOAuthUserByLogin(string login, CancellationToken token)
 {
     return(Task.FromResult(LstData.FirstOrDefault(u => u.Id == login)));
 }
예제 #14
0
 public Task <UMAPendingRequest> FindByTicketIdentifierAndOwner(string ticketIdentifier, string owner, CancellationToken token)
 {
     return(Task.FromResult(LstData.FirstOrDefault(r => r.TicketId == ticketIdentifier && r.Owner == owner)));
 }
 public Task <OAuthUser> FindOAuthUserByExternalAuthProvider(string scheme, string subject, CancellationToken cancellationToken)
 {
     return(Task.FromResult(LstData.FirstOrDefault(u => u.ExternalAuthProviders.Any(p => p.Scheme == scheme && p.Subject == subject))));
 }
 public Task <List <OAuthScope> > FindOAuthScopesByNames(IEnumerable <string> names, CancellationToken cancellationToken)
 {
     return(Task.FromResult(LstData.Where(s => names.Contains(s.Name)).ToList()));
 }
예제 #17
0
 public Task <IEnumerable <UMAPendingRequest> > FindByTicketIdentifier(string ticketIdentifier, CancellationToken cancellationToken)
 {
     return(Task.FromResult(LstData.Where(r => r.TicketId == ticketIdentifier)));
 }
 public Task <OAuthScope> GetOAuthScope(string name, CancellationToken cancellationToken)
 {
     return(Task.FromResult(LstData.FirstOrDefault(s => s.Name == name)));
 }
예제 #19
0
        public Task <SearchResult <UMAPendingRequest> > Find(SearchRequestParameter parameter, CancellationToken cancellationToken)
        {
            var filteredUMAPendingRequests = LstData.AsQueryable();

            return(InternalFind(filteredUMAPendingRequests, parameter));
        }
 public Task <IEnumerable <AuthenticationContextClassReference> > FindACRByNames(IEnumerable <string> names, CancellationToken cancellationToken)
 {
     return(Task.FromResult(LstData.Where(a => names.Contains(a.Name))));
 }
 public Task <UMAResource> FindByIdentifier(string id, CancellationToken token)
 {
     return(Task.FromResult(LstData.FirstOrDefault(r => r.Id == id)));
 }
 public Task <IEnumerable <UMAResource> > FindByIdentifiers(IEnumerable <string> ids, CancellationToken token)
 {
     return(Task.FromResult(LstData.Where(r => ids.Contains(r.Id))));
 }