refactor: Redirect to orginal route after login, restructure project files
This commit is contained in:
parent
29d3c53b19
commit
704cc22858
@ -1,16 +1,16 @@
|
|||||||
import { Routes } from '@angular/router';
|
import { Routes } from '@angular/router';
|
||||||
import { LandingPageComponent } from './landing-page/landing-page.component';
|
import { LandingComponent } from './feature/landing/landing.component';
|
||||||
import { HomepageComponent } from './homepage/homepage/homepage.component';
|
import { HomeComponent } from './feature/home/home.component';
|
||||||
import { authGuard } from './auth.guard';
|
import { authGuard } from './auth.guard';
|
||||||
|
|
||||||
export const routes: Routes = [
|
export const routes: Routes = [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
component: LandingPageComponent,
|
component: LandingComponent,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'home',
|
path: 'home',
|
||||||
component: HomepageComponent,
|
component: HomeComponent,
|
||||||
canActivate: [authGuard],
|
canActivate: [authGuard],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
import { CanActivateFn } from '@angular/router';
|
import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot } from '@angular/router';
|
||||||
import { inject } from '@angular/core';
|
import { inject } from '@angular/core';
|
||||||
import { KeycloakService } from 'keycloak-angular';
|
import { KeycloakService } from 'keycloak-angular';
|
||||||
|
|
||||||
export const authGuard: CanActivateFn = async () => {
|
export const authGuard: CanActivateFn = async (
|
||||||
|
route: ActivatedRouteSnapshot,
|
||||||
|
state: RouterStateSnapshot
|
||||||
|
) => {
|
||||||
const keycloakService = inject(KeycloakService);
|
const keycloakService = inject(KeycloakService);
|
||||||
const isLoggedIn = keycloakService.isLoggedIn();
|
const isLoggedIn = keycloakService.isLoggedIn();
|
||||||
|
|
||||||
@ -10,6 +13,11 @@ export const authGuard: CanActivateFn = async () => {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
keycloakService.login();
|
const baseurl = window.location.origin;
|
||||||
|
|
||||||
|
keycloakService.login({
|
||||||
|
redirectUri: `${baseurl}${state.url}`,
|
||||||
|
});
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
@ -5,10 +5,10 @@ import { KeycloakService } from 'keycloak-angular';
|
|||||||
selector: 'app-homepage',
|
selector: 'app-homepage',
|
||||||
standalone: true,
|
standalone: true,
|
||||||
imports: [],
|
imports: [],
|
||||||
templateUrl: './homepage.component.html',
|
templateUrl: './home.component.html',
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
})
|
})
|
||||||
export class HomepageComponent {
|
export class HomeComponent {
|
||||||
private keycloakService: KeycloakService = inject(KeycloakService);
|
private keycloakService: KeycloakService = inject(KeycloakService);
|
||||||
|
|
||||||
logout() {
|
logout() {
|
@ -3,12 +3,12 @@ import { KeycloakService } from 'keycloak-angular';
|
|||||||
import { RouterLink } from '@angular/router';
|
import { RouterLink } from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-landing-page',
|
selector: 'app-landing',
|
||||||
standalone: true,
|
standalone: true,
|
||||||
imports: [RouterLink],
|
imports: [RouterLink],
|
||||||
templateUrl: './landing-page.component.html',
|
templateUrl: './landing.component.html',
|
||||||
})
|
})
|
||||||
export class LandingPageComponent {
|
export class LandingComponent {
|
||||||
private keycloakService: KeycloakService = inject(KeycloakService);
|
private keycloakService: KeycloakService = inject(KeycloakService);
|
||||||
|
|
||||||
public isLoggedIn = this.keycloakService.isLoggedIn();
|
public isLoggedIn = this.keycloakService.isLoggedIn();
|
Loading…
x
Reference in New Issue
Block a user