Ejemplo n.º 1
0
        private static async Task AddClientApplications(ApplicationDbContext context, OpenIddictApplicationManager <OpenIddictApplication> manager)
        {
            const string clientId = "socialarts.club";

            var app = await manager.FindByClientIdAsync(clientId);

            if (app != null)
            {
                await manager.DeleteAsync(app);
            }

            var descriptor = new OpenIddictApplicationDescriptor
            {
                ClientId    = clientId,
                DisplayName = clientId,
                // TODO: Read this from configuration.
                RedirectUris =
                {
                    new Uri("https://localhost:5001/MyProgressJournal"),
                    new Uri("https://socialarts.club/MyProgressJournal")
                },
                Permissions =
                {
                    OpenIddictConstants.Permissions.Endpoints.Authorization,
                    OpenIddictConstants.Permissions.GrantTypes.Implicit,
                    OpenIddictConstants.Permissions.Scopes.OpenId,
                }
            };

            await manager.CreateAsync(descriptor);
        }
Ejemplo n.º 2
0
    public async Task DeleteAsync(string id)
    {
        if (id == null)
        {
            throw new ArgumentNullException(nameof(id));
        }

        var entity = await _manager.FindByIdAsync(id);

        await _manager.DeleteAsync(entity);
    }
Ejemplo n.º 3
0
        public async Task <bool> DeleteByIdAsync(Guid id, CancellationToken cancellationToken)
        {
            var entity = await _applicationManager.FindByIdAsync(id.ToString(), cancellationToken);

            if (entity == null)
            {
                return(false);
            }
            await _applicationManager.DeleteAsync(entity, cancellationToken);

            return(true);
        }
Ejemplo n.º 4
0
        public async Task <ActionResult> DeleteAsync([FromQuery] string[] clientIds)
        {
            var apps = await _manager.ListAsync(x =>
                                                x.Where(y => clientIds.Contains(y.ClientId)));

            foreach (var app in apps)
            {
                await _manager.DeleteAsync(app);
            }

            return(Ok());
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Delete(string id)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageOpenIdApplications))
            {
                return(Unauthorized());
            }

            var application = await _applicationManager.FindByIdAsync(id, HttpContext.RequestAborted);

            if (application == null)
            {
                return(NotFound());
            }

            await _applicationManager.DeleteAsync(application, HttpContext.RequestAborted);

            return(RedirectToAction(nameof(Index)));
        }
 public async Task <IActionResult> DeleteApplication([FromRoute] string appId)
 {
     return(await(await GetExistApplicationById(appId))
            .MatchAsync(async res =>
     {
         foreach (var token in res.Tokens)
         {
             await _oidTokenManger.DeleteAsync(token);
         }
         foreach (var token in res.Authorizations)
         {
             await _oidAuthorizationManager.DeleteAsync(token);
         }
         await _oidApplicationManager.DeleteAsync(res);
         return Success <Error, string>($"Removed application {res.DisplayName}");
     }, errors => Fail <Error, string>(errors.Join()))
            .ToActionResultAsync());
 }