refactor(xPack): 接入oidc单点登录
This commit is contained in:
parent
2cdf1e6730
commit
c71b1d49f3
|
@ -27,6 +27,7 @@ public class ShiroUtils {
|
||||||
filterChainDefinitionMap.put("/jmeter/download/**", "anon");
|
filterChainDefinitionMap.put("/jmeter/download/**", "anon");
|
||||||
filterChainDefinitionMap.put("/authsource/list/allenable", "anon");
|
filterChainDefinitionMap.put("/authsource/list/allenable", "anon");
|
||||||
filterChainDefinitionMap.put("/sso/signin", "anon");
|
filterChainDefinitionMap.put("/sso/signin", "anon");
|
||||||
|
filterChainDefinitionMap.put("/sso/callback", "anon");
|
||||||
// for swagger
|
// for swagger
|
||||||
filterChainDefinitionMap.put("/swagger-ui.html", "anon");
|
filterChainDefinitionMap.put("/swagger-ui.html", "anon");
|
||||||
filterChainDefinitionMap.put("/swagger-ui/**", "anon");
|
filterChainDefinitionMap.put("/swagger-ui/**", "anon");
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8d175b5363274672ff33a5883b730e8aaa823f8d
|
Subproject commit 86f74f5e33eee90a9eba4019f67a470059e4d485
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8a6a9ae708306eaf436f35394b71927cec075b0e
|
Subproject commit 9e64da846793401150260fc50262d82932cf5d8a
|
|
@ -15,7 +15,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form">
|
<div class="form">
|
||||||
<el-form-item v-slot:default>
|
<el-form-item v-slot:default>
|
||||||
<el-radio-group v-model="form.authenticate">
|
<el-radio-group v-model="form.authenticate" @change="redirectAuth(form.authenticate)">
|
||||||
<el-radio label="LDAP" size="mini" v-if="openLdap">LDAP</el-radio>
|
<el-radio label="LDAP" size="mini" v-if="openLdap">LDAP</el-radio>
|
||||||
<el-radio label="LOCAL" size="mini" v-if="openLdap">普通登录</el-radio>
|
<el-radio label="LOCAL" size="mini" v-if="openLdap">普通登录</el-radio>
|
||||||
<el-radio :label="auth.id" size="mini" v-for="auth in authSources" :key="auth.id">{{ auth.type }} {{ auth.name }}</el-radio>
|
<el-radio :label="auth.id" size="mini" v-for="auth in authSources" :key="auth.id">{{ auth.type }} {{ auth.name }}</el-radio>
|
||||||
|
@ -172,6 +172,27 @@ export default {
|
||||||
} else {
|
} else {
|
||||||
window.location.href = "/"
|
window.location.href = "/"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
redirectAuth(authId) {
|
||||||
|
if (authId === 'LDAP' || authId === 'LOCAL') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let source = this.authSources.filter(auth => auth.id === authId)[0];
|
||||||
|
if (source.type === 'CAS') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.$confirm(this.$t('即将跳转到认证源页面进行认证'), '', {
|
||||||
|
confirmButtonText: this.$t('commons.confirm'),
|
||||||
|
cancelButtonText: this.$t('commons.cancel'),
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
let config = JSON.parse(source.configuration);
|
||||||
|
let url = config.authUrl + "/auth?client_id=" + config.clientId + "&redirect_uri=" + config.redirectUrl +
|
||||||
|
"&response_type=code&scope=openid+profile+email+offline_access&state=" + authId;
|
||||||
|
window.location.href = url;
|
||||||
|
}).catch(() => {
|
||||||
|
this.form.authenticate = 'LOCAL';
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue