public async Task<Thinktecture.IdentityServer.Core.Models.Consent> LoadAsync(string subject, string client)
        {
            var found = await context.Consents.FindAsync(subject, client);
            if (found == null)
            {
                return null;
            }
                
            var result = new Thinktecture.IdentityServer.Core.Models.Consent
            {
                Subject = found.Subject,
                ClientId = found.ClientId,
                Scopes = ParseScopes(found.Scopes)
            };

            return result;
        }
示例#2
0
        public async Task <Thinktecture.IdentityServer.Core.Models.Consent> LoadAsync(string subject, string client)
        {
            var found = await context.Consents.FindAsync(subject, client);

            if (found == null)
            {
                return(null);
            }

            var result = new Thinktecture.IdentityServer.Core.Models.Consent
            {
                Subject  = found.Subject,
                ClientId = found.ClientId,
                Scopes   = ParseScopes(found.Scopes)
            };

            return(result);
        }
示例#3
0
        public async Task UpdateAsync(Thinktecture.IdentityServer.Core.Models.Consent consent)
        {
            var item = await context.Consents.FindAsync(consent.Subject, consent.ClientId);

            if (item == null)
            {
                item = new Entities.Consent
                {
                    Subject  = consent.Subject,
                    ClientId = consent.ClientId
                };
                context.Consents.Add(item);
            }

            if (consent.Scopes == null || !consent.Scopes.Any())
            {
                context.Consents.Remove(item);
            }

            item.Scopes = StringifyScopes(consent.Scopes);

            await context.SaveChangesAsync();
        }