mirror of
https://github.com/cryptpad/cryptpad.git
synced 2026-09-14 11:05:41 +05:00
Merge branch 'dev/sso-login-redirect' of github.com:Murena-SAS/cryptpad into sso-login-redirect
This commit is contained in:
commit
456563d28a
@ -12,6 +12,8 @@ module.exports = {
|
||||
cpPassword: false,
|
||||
// You can also force your SSO users to add a CryptPad password
|
||||
forceCpPassword: false,
|
||||
// Force redirect to first SSO provider
|
||||
forceRedirect: true,
|
||||
// List of SSO providers
|
||||
list: [
|
||||
/*
|
||||
|
||||
@ -14,7 +14,9 @@ define([
|
||||
|
||||
var ssoEnabled = (Config.sso && Config.sso.list && Config.sso.list.length) ?'': '.cp-hidden';
|
||||
var ssoEnforced = (Config.sso && Config.sso.force) ? '.cp-hidden' : '';
|
||||
|
||||
if (Config.sso && Config.sso.list && Config.sso.forceRedirect === 1) {
|
||||
return;
|
||||
}
|
||||
return [h('div#cp-main', [
|
||||
Pages.infopageTopbar(),
|
||||
h('div.container.cp-container', [
|
||||
|
||||
@ -602,6 +602,7 @@ var serveConfig = makeRouteCache(function () {
|
||||
Env.sso.list.map(function (obj) { return obj.name; }) || [];
|
||||
const ssoCfg = (SSOUtils && ssoList.length) ? {
|
||||
force: (Env.sso && Env.sso.enforced && 1) || 0,
|
||||
forceRedirect: (Env.sso && Env.sso.forceRedirect && 1) || 0,
|
||||
password: (Env.sso && Env.sso.cpPassword && (Env.sso.forceCpPassword ? 2 : 1)) || 0,
|
||||
list: ssoList
|
||||
} : false;
|
||||
|
||||
@ -31,6 +31,17 @@ define([
|
||||
// Config.sso.password => cp password required or forbidden
|
||||
// Config.sso.list => list of configured identity providers
|
||||
var $sso = $('div.cp-login-sso');
|
||||
// Auto-redirect if only forceRedirect set to true
|
||||
if (Config.sso && Config.sso.list && Config.sso.forceRedirect === 1) {
|
||||
Login.ssoAuth(Config.sso.list[0], function (err, data) {
|
||||
if (data && data.url) {
|
||||
window.location.href = data.url;
|
||||
} else {
|
||||
console.error("SSO auto-redirect failed:", err || "no URL");
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
var list = Config.sso.list.map(function (name) {
|
||||
var b = h('button.btn.btn-secondary', name);
|
||||
var $b = $(b).click(function () {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user