export const USER_IS_ACTIVE = 'isActive';
export const USER_USERNAME = 'username';
export const USER_PREFS = 'prefs';
+export const HOME_CLUSTER = 'homeCluster';
export interface UserDetailsResponse {
email: string;
public saveApiToken(token: string) {
localStorage.setItem(API_TOKEN_KEY, token);
+ localStorage.setItem(HOME_CLUSTER, token.split('/')[1].substr(0, 5));
}
public removeApiToken() {
return localStorage.getItem(API_TOKEN_KEY) || undefined;
}
+ public getHomeCluster() {
+ return localStorage.getItem(HOME_CLUSTER) || undefined;
+ }
+
public getUuid() {
return localStorage.getItem(USER_UUID_KEY) || undefined;
}
}
public getIsActive(): boolean {
- console.log(`uia ${localStorage.getItem(USER_IS_ACTIVE)}`)
return localStorage.getItem(USER_IS_ACTIVE) === 'true';
}
const username = localStorage.getItem(USER_USERNAME);
const prefs = JSON.parse(localStorage.getItem(USER_PREFS) || '{"profile": {}}');
- console.log(`leg! ${isActive}`)
-
return email && firstName && lastName && uuid && ownerUuid && username && prefs
? { email, firstName, lastName, uuid, ownerUuid, isAdmin, isActive, username, prefs }
: undefined;
localStorage.removeItem(USER_PREFS);
}
- public login(uuidPrefix: string, homeCluster: string) {
+ public login(uuidPrefix: string, homeCluster: string, remoteHosts: { [key: string]: string }) {
const currentUrl = `${window.location.protocol}//${window.location.host}/token`;
- window.location.assign(`https://${homeCluster}/login?remote=${uuidPrefix}&return_to=${currentUrl}`);
+ const homeClusterHost = remoteHosts[homeCluster];
+ window.location.assign(`https://${homeClusterHost}/login?${uuidPrefix !== homeCluster ? "remote=" + uuidPrefix + "&" : ""}return_to=${currentUrl}`);
}
public logout() {