mirror of https://github.com/portainer/portainer
fix(oauth): change default microsoft logout url [EE-2044] (#6324)
parent
b71ca2afb0
commit
edf048570b
|
@ -3,6 +3,8 @@ import { isLimitedToBE } from '@/portainer/feature-flags/feature-flags.service';
|
||||||
import { FeatureId } from '@/portainer/feature-flags/enums';
|
import { FeatureId } from '@/portainer/feature-flags/enums';
|
||||||
import providers, { getProviderByUrl } from './providers';
|
import providers, { getProviderByUrl } from './providers';
|
||||||
|
|
||||||
|
const MS_TENANT_ID_PLACEHOLDER = 'TENANT_ID';
|
||||||
|
|
||||||
export default class OAuthSettingsController {
|
export default class OAuthSettingsController {
|
||||||
/* @ngInject */
|
/* @ngInject */
|
||||||
constructor($scope) {
|
constructor($scope) {
|
||||||
|
@ -28,11 +30,12 @@ export default class OAuthSettingsController {
|
||||||
}
|
}
|
||||||
|
|
||||||
onMicrosoftTenantIDChange() {
|
onMicrosoftTenantIDChange() {
|
||||||
const tenantID = this.state.microsoftTenantID;
|
const tenantID = this.state.microsoftTenantID || MS_TENANT_ID_PLACEHOLDER;
|
||||||
|
|
||||||
this.settings.AuthorizationURI = `https://login.microsoftonline.com/${tenantID}/oauth2/authorize`;
|
this.settings.AuthorizationURI = `https://login.microsoftonline.com/${tenantID}/oauth2/authorize`;
|
||||||
this.settings.AccessTokenURI = `https://login.microsoftonline.com/${tenantID}/oauth2/token`;
|
this.settings.AccessTokenURI = `https://login.microsoftonline.com/${tenantID}/oauth2/token`;
|
||||||
this.settings.ResourceURI = `https://graph.windows.net/${tenantID}/me?api-version=2013-11-08`;
|
this.settings.ResourceURI = `https://graph.windows.net/${tenantID}/me?api-version=2013-11-08`;
|
||||||
|
this.settings.LogoutURI = `https://login.microsoftonline.com/${tenantID}/oauth2/logout`;
|
||||||
}
|
}
|
||||||
|
|
||||||
useDefaultProviderConfiguration(providerId) {
|
useDefaultProviderConfiguration(providerId) {
|
||||||
|
@ -123,8 +126,10 @@ export default class OAuthSettingsController {
|
||||||
this.state.provider = getProviderByUrl(authUrl);
|
this.state.provider = getProviderByUrl(authUrl);
|
||||||
if (this.state.provider === 'microsoft') {
|
if (this.state.provider === 'microsoft') {
|
||||||
const tenantID = authUrl.match(/login.microsoftonline.com\/(.*?)\//)[1];
|
const tenantID = authUrl.match(/login.microsoftonline.com\/(.*?)\//)[1];
|
||||||
this.state.microsoftTenantID = tenantID;
|
if (tenantID !== MS_TENANT_ID_PLACEHOLDER) {
|
||||||
this.onMicrosoftTenantIDChange();
|
this.state.microsoftTenantID = tenantID;
|
||||||
|
this.onMicrosoftTenantIDChange();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ export default {
|
||||||
authUrl: 'https://login.microsoftonline.com/TENANT_ID/oauth2/authorize',
|
authUrl: 'https://login.microsoftonline.com/TENANT_ID/oauth2/authorize',
|
||||||
accessTokenUrl: 'https://login.microsoftonline.com/TENANT_ID/oauth2/token',
|
accessTokenUrl: 'https://login.microsoftonline.com/TENANT_ID/oauth2/token',
|
||||||
resourceUrl: 'https://graph.windows.net/TENANT_ID/me?api-version=2013-11-08',
|
resourceUrl: 'https://graph.windows.net/TENANT_ID/me?api-version=2013-11-08',
|
||||||
logoutUrl: `https://login.microsoftonline.com/common/oauth2/v2.0/logout?post_logout_redirect_uri=${window.location.origin}${baseHref()}#!/auth`,
|
logoutUrl: `https://login.microsoftonline.com/TENANT_ID/oauth2/logout`,
|
||||||
userIdentifier: 'userPrincipalName',
|
userIdentifier: 'userPrincipalName',
|
||||||
scopes: 'id,email,name',
|
scopes: 'id,email,name',
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue