Example #1
0
        private ConsentViewModel CreateConsentViewModel(
            ConsentInputModel model, string returnUrl,
            AuthorizationRequest request,
            Client client, Models.Resources resources)
        {
            var vm = new ConsentViewModel();

            vm.RememberConsent = model?.RememberConsent ?? true;
            vm.ScopesConsented = model?.ScopesConsented ?? Enumerable.Empty <string>();

            vm.ReturnUrl = returnUrl;

            vm.ClientName           = client.ClientName;
            vm.ClientUrl            = client.ClientUri;
            vm.ClientLogoUrl        = client.LogoUri;
            vm.AllowRememberConsent = client.AllowRememberConsent;

            vm.IdentityScopes = resources.IdentityResources.Select(x => CreateScopeViewModel(x, vm.ScopesConsented.Contains(x.Name) || model == null)).ToArray();
            vm.ResourceScopes = resources.ApiResources.SelectMany(x => x.Scopes).Select(x => CreateScopeViewModel(x, vm.ScopesConsented.Contains(x.Name) || model == null)).ToArray();
            if (ConsentOptions.EnableOfflineAccess && resources.OfflineAccess)
            {
                vm.ResourceScopes = vm.ResourceScopes.Union(new ScopeViewModel[] {
                    GetOfflineAccessScope(vm.ScopesConsented.Contains(IdentityServerConstants.StandardScopes.OfflineAccess) || model == null)
                });
            }

            return(vm);
        }
Example #2
0
 public bool canCarry(Models.Resources toAcquire)
 {
     return((toAcquire.Food > 0 && toAcquire.Food + Resources.Food < maxResources.Food) ||
            (toAcquire.Stone > 0 && toAcquire.Stone + Resources.Stone < maxResources.Stone) ||
            (toAcquire.Wood > 0 && toAcquire.Wood + Resources.Wood < maxResources.Wood) ||
            (toAcquire.Gold > 0 && toAcquire.Gold + Resources.Gold < maxResources.Gold));
 }
Example #3
0
 public void Carry(Models.Resources toAcquire)
 {
     this.Resources.Food  += toAcquire.Food;
     this.Resources.Stone += toAcquire.Stone;
     this.Resources.Wood  += toAcquire.Wood;
     this.Resources.Gold  += toAcquire.Gold;
 }
Example #4
0
        /// <summary>
        /// Gets all resources.
        /// </summary>
        /// <returns></returns>
        public Task <Models.Resources> GetAllResourcesAsync()
        {
            var identity = _context.IdentityResources
                           .Include(x => x.UserClaims);

            var apis = _context.ApiResources
                       .Include(x => x.Secrets)
                       .Include(x => x.Scopes)
                       .ThenInclude(s => s.UserClaims)
                       .Include(x => x.UserClaims)
                       .Include(x => x.Properties)
                       .AsNoTracking();

            var result = new Models.Resources(
                identity.ToArray().Select(x => x.ToModel()).AsEnumerable(),
                apis.ToArray().Select(x => x.ToModel()).AsEnumerable());

            _logger.LogDebug("Found {scopes} as all scopes in database",
                             result.IdentityResources.Select(x => x.Name)
                             .Union(result.ApiResources.SelectMany(x => x.Scopes).Select(x => x.Name)));

            return(Task.FromResult(result));
        }
Example #5
0
 public void SetMaxResources(Models.Resources resources)
 {
     this.maxResources = resources;
 }