Compare commits
1 Commits
main
...
c4po_nsm_1
Author | SHA1 | Date |
---|---|---|
|
60492f9a5d |
|
@ -12,7 +12,6 @@ import {UserService} from '@shared/services/user-service/user.service';
|
||||||
import {User} from '@shared/models/user.model';
|
import {User} from '@shared/models/user.model';
|
||||||
import {BehaviorSubject} from 'rxjs';
|
import {BehaviorSubject} from 'rxjs';
|
||||||
import {Route} from '@shared/models/route.enum';
|
import {Route} from '@shared/models/route.enum';
|
||||||
import {environment} from '../../environments/environment';
|
|
||||||
import {Router} from '@angular/router';
|
import {Router} from '@angular/router';
|
||||||
import {DialogService} from '@shared/services/dialog-service/dialog.service';
|
import {DialogService} from '@shared/services/dialog-service/dialog.service';
|
||||||
import {ProfileSettingsComponent} from '@shared/modules/profile-settings/profile-settings.component';
|
import {ProfileSettingsComponent} from '@shared/modules/profile-settings/profile-settings.component';
|
||||||
|
@ -148,9 +147,7 @@ export class HeaderComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
onClickLogOut(): void {
|
onClickLogOut(): void {
|
||||||
// ToDo: Has to be implemented once HTTPS works
|
this.userService.logout().then(() => {
|
||||||
|
|
||||||
/*this.userService.logout().then(() => {
|
|
||||||
console.warn('logout success');
|
console.warn('logout success');
|
||||||
// Route user back to default page
|
// Route user back to default page
|
||||||
this.router.navigate([Route.HOME]).then(() => {
|
this.router.navigate([Route.HOME]).then(() => {
|
||||||
|
@ -162,6 +159,6 @@ export class HeaderComponent implements OnInit {
|
||||||
});
|
});
|
||||||
}, err => {
|
}, err => {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
});*/
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,16 @@
|
||||||
import {Injectable} from '@angular/core';
|
import {Injectable} from '@angular/core';
|
||||||
import {HttpClient, HttpHeaders} from '@angular/common/http';
|
import {HttpHeaders} from '@angular/common/http';
|
||||||
import {User} from '../../models/user.model';
|
import {User} from '../../models/user.model';
|
||||||
import {from, Observable, of, Subscriber} from 'rxjs';
|
import {from, Observable, of, Subscriber} from 'rxjs';
|
||||||
import {Store} from '@ngxs/store';
|
|
||||||
import {KeycloakService} from 'keycloak-angular';
|
import {KeycloakService} from 'keycloak-angular';
|
||||||
import {map} from 'rxjs/operators';
|
import {map} from 'rxjs/operators';
|
||||||
import {environment} from '../../../environments/environment';
|
|
||||||
import {Route} from '@shared/models/route.enum';
|
|
||||||
import {Project} from '@shared/models/project.model';
|
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class UserService {
|
export class UserService {
|
||||||
|
|
||||||
private keycloakBaseURL = `${environment.keycloakURL}/`;
|
constructor(private keycloakService: KeycloakService) {
|
||||||
|
|
||||||
constructor(private http: HttpClient,
|
|
||||||
private keycloakService: KeycloakService,
|
|
||||||
private store: Store) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static createHttpHeadersWithContentType(token: string): HttpHeaders {
|
private static createHttpHeadersWithContentType(token: string): HttpHeaders {
|
||||||
|
@ -48,25 +40,8 @@ export class UserService {
|
||||||
return this.keycloakService.logout();
|
return this.keycloakService.logout();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToDo: Change update profile propterties OR ...
|
|
||||||
// ...In our angular application, best way to change password was to create “button” with “hardcoded” link to:
|
|
||||||
// https://keycloakUrl/realms/myrealm/protocol/openid-connect/auth 58
|
|
||||||
// ?response_type=code
|
|
||||||
// &client_id=myclient
|
|
||||||
// &redirect_uri=myAppUrl
|
|
||||||
// &kc_action=UPDATE_PASSWORD
|
|
||||||
// ToDo: Or use API
|
|
||||||
// https://stackoverflow.com/questions/33910615/is-there-an-api-call-for-changing-user-password-on-keycloak
|
|
||||||
|
|
||||||
// ToDo: https://www.keycloak.org/docs/latest/server_development/
|
|
||||||
public changeUserProperties(user: User): Observable<any> {
|
public changeUserProperties(user: User): Observable<any> {
|
||||||
// ToDo: There is a kc_action parameter available in keycloak to let application force required actions.
|
|
||||||
console.warn(user);
|
console.warn(user);
|
||||||
/*../realms/myrealm/protocol/openid-connect/auth
|
|
||||||
?response_type=code
|
|
||||||
&client_id=myclient
|
|
||||||
&redirect_uri=https://myclient.com
|
|
||||||
&kc_action=update_profile*/
|
|
||||||
return of(user);
|
return of(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ services:
|
||||||
- ./cfg/c4po_realm_export.json/:/opt/keycloak/data/import/c4po_realm_export.json
|
- ./cfg/c4po_realm_export.json/:/opt/keycloak/data/import/c4po_realm_export.json
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
entrypoint: /opt/keycloak/bin/kc.sh start-dev --import-realm --http-relative-path=/auth
|
entrypoint: /opt/keycloak/bin/kc.sh --spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true start-dev --import-realm --http-relative-path=/auth
|
||||||
networks:
|
networks:
|
||||||
- c4po
|
- c4po
|
||||||
# Services
|
# Services
|
||||||
|
|
Loading…
Reference in New Issue