Browse Source

Bugfix with logout

pull/1/head
Sebastian 9 years ago
parent
commit
ba2cccec9f
  1. 1
      src/Squidex/Controllers/Api/Apps/AppClientsController.cs
  2. 16
      src/Squidex/Controllers/UI/Account/AccountController.cs
  3. 7
      src/Squidex/app/features/settings/pages/clients/client.component.html
  4. 6
      src/Squidex/app/shared/services/auth.service.ts
  5. 13
      src/Squidex/app/shell/pages/home/home-page.component.scss
  6. 10
      src/Squidex/app/shell/pages/not-found/not-found-page.component.html
  7. 27
      src/Squidex/app/shell/pages/not-found/not-found-page.component.scss
  8. 3
      src/Squidex/app/theme/_bootstrap.scss

1
src/Squidex/Controllers/Api/Apps/AppClientsController.cs

@ -54,6 +54,7 @@ namespace Squidex.Controllers.Api.Apps
[ProducesResponseType(typeof(ClientDto[]), 200)]
public async Task<IActionResult> GetClients(string app)
{
return StatusCode(401);
var entity = await appProvider.FindAppByNameAsync(app);
if (entity == null)

16
src/Squidex/Controllers/UI/Account/AccountController.cs

@ -16,6 +16,8 @@ using Microsoft.AspNetCore.Identity.MongoDB;
using Microsoft.AspNetCore.Mvc;
using NSwag.Annotations;
using Squidex.Infrastructure.Security;
using Microsoft.Extensions.Options;
using Squidex.Config;
// ReSharper disable RedundantIfElseBlock
// ReSharper disable ConvertIfStatementToReturnStatement
@ -27,14 +29,17 @@ namespace Squidex.Controllers.UI.Account
{
private readonly SignInManager<IdentityUser> signInManager;
private readonly UserManager<IdentityUser> userManager;
private readonly IOptions<MyUrlsOptions> urlOptions;
private readonly IIdentityServerInteractionService interactions;
public AccountController(
SignInManager<IdentityUser> signInManager,
UserManager<IdentityUser> userManager,
UserManager<IdentityUser> userManager,
IOptions<MyUrlsOptions> urlOptions,
IIdentityServerInteractionService interactions)
{
this.signInManager = signInManager;
this.urlOptions = urlOptions;
this.userManager = userManager;
this.interactions = interactions;
}
@ -76,7 +81,14 @@ namespace Squidex.Controllers.UI.Account
await signInManager.SignOutAsync();
return context.PostLogoutRedirectUri != null ? (IActionResult)Redirect(context.PostLogoutRedirectUri) : StatusCode(201);
var logoutUrl = context.PostLogoutRedirectUri;
if (string.IsNullOrWhiteSpace(logoutUrl))
{
logoutUrl = urlOptions.Value.BuildUrl("logout");
}
return Redirect(logoutUrl);
}
[HttpGet]

7
src/Squidex/app/features/settings/pages/clients/client.component.html

@ -15,6 +15,13 @@
<div class="client-name">
<form *ngIf="isRenaming" class="form-inline" [formGroup]="renameForm" (submit)="rename()">
<div class="form-group">
<div class="errors-box" *ngIf="renameForm.get('name').invalid" [@fade]>
<div class="errors">
<span *ngIf="renameForm.get('name').hasError('required')">
Name is required.
</span>
</div>
</div>
<input type="text" class="form-control" formControlName="name" maxlength="20" sqxFocusOnInit (keydown)="onKeyDown($event.keyCode)" />
</div>

6
src/Squidex/app/shared/services/auth.service.ts

@ -189,11 +189,15 @@ export class AuthService {
return response.catch((error: Response) => {
if (error.status === 401 || error.status === 404) {
this.logoutRedirect();
return Observable.empty<Response>();
} else if (error.status === 403) {
this.router.navigate(['/404']);
return Observable.empty<Response>();
}
return Observable.throw(error);
return Observable.throw(response);
});
}

13
src/Squidex/app/shell/pages/home/home-page.component.scss

@ -9,15 +9,16 @@
.logo {
height: 60px;
display: display-block;
}
.login-button {
margin: 40px 0;
}
.login {
&-button {
margin: 40px 0;
}
.login-hint {
font-style: italic;
&-hint {
font-style: italic;
}
}
.proudly-made {

10
src/Squidex/app/shell/pages/not-found/not-found-page.component.html

@ -1,3 +1,9 @@
<div class="simple-error">
Not found
<div class="content">
<img class="logo" src="/images/logo.png" />
<h1>Not Found</h1>
<p>Sorry, the page you are looking for does not exist</p>
<a routerLink="../">Back to Homepage</a>
</div>

27
src/Squidex/app/shell/pages/not-found/not-found-page.component.scss

@ -0,0 +1,27 @@
@import '_mixins';
@import '_vars';
.content {
margin: 100px auto;
max-width: 500px;
text-align: center;
}
.logo {
height: 60px;
display: display-block;
}
.login-button {
margin: 40px 0;
}
.login-hint {
font-style: italic;
}
.proudly-made {
margin-top: 100px;
font-size: 11px;
font-style: italic;
}

3
src/Squidex/app/theme/_bootstrap.scss

@ -127,10 +127,11 @@
}
& {
@include absolute(-2.4rem, 0, auto, 0);
@include absolute(-2.4rem, auto, auto, 0);
@include border-radius(2px);
color: $color-accent-dark;
cursor: none;
display: inline-block;
font-size: .9rem;
font-weight: normal;
line-height: 2rem;

Loading…
Cancel
Save