Store available authentication methods in ngrx/store

This commit is contained in:
Julius Gruber
2019-08-05 14:45:57 +02:00
parent 7a3155f2b4
commit c8f4db618e
5 changed files with 67 additions and 16 deletions

View File

@@ -24,6 +24,7 @@ import {Base64EncodeUrl} from '../../shared/utils/encode-decode.util';
import {RemoteDataBuildService} from '../cache/builders/remote-data-build.service';
import {GlobalConfig} from '../../../config/global-config.interface';
import {GLOBAL_CONFIG} from '../../../config';
import {AuthMethodModel} from './models/auth-method.model';
export const LOGIN_ROUTE = '/login';
export const LOGOUT_ROUTE = '/logout';
@@ -222,19 +223,19 @@ export class AuthService {
* Retrieve authentication methods available
* @returns {User}
*/
public retrieveAuthMethods(): Observable<string> {
public retrieveAuthMethods(): Observable<AuthMethodModel[]> {
console.log('auth.service retrieveAuthMethods() was called');
// return this.authRequestService.getRequest('login').pipe(
return this.authRequestService.postToEndpoint('login', {}).pipe(
map((status: AuthStatus) => {
let url = '';
if (isNotEmpty(status.ssoLoginUrl)) {
let authMethods: AuthMethodModel[];
if (isNotEmpty(status.authMethods)) {
// url = this.parseSSOLocation(status.ssoLoginUrl);
// console.log('Parsed SSOLoginUrl: ', url);
// url = 'https://fis.tiss.tuwien.ac.at/Shibboleth.sso/Login?target=https://fis.tiss.tuwien.ac.at';
url = status.ssoLoginUrl;
authMethods = status.authMethods;
}
return url;
return authMethods;
})
)
}