Browse Source

Toggle SSO button in scss

pull/3899/head
Timshel 5 months ago
parent
commit
a9cc0e5b4a
  1. 7
      docker/start.sh
  2. 3
      playwright/tests/sso_login.spec.ts
  3. 10
      src/api/web.rs
  4. 19
      src/static/templates/scss/vaultwarden.scss.hbs

7
docker/start.sh

@ -26,11 +26,4 @@ elif [ -d /etc/bitwarden_rs.d ]; then
done
fi
# Toggle the SSO Link
if [ "$SSO_ENABLED" = "true" ]; then
sed -i 's#a\[routerlink="/sso"\]#a\[routerlink="/sso-sed"\]#' /web-vault/app/main.*.css
else
sed -i 's#a\[routerlink="/sso-sed"\]#a\[routerlink="/sso"\]#' /web-vault/app/main.*.css
fi
exec /vaultwarden "${@}"

3
playwright/tests/sso_login.spec.ts

@ -38,8 +38,7 @@ test('Non SSO login', async ({ page }) => {
await expect(page).toHaveTitle(/Vaultwarden Web/);
});
test('Non SSO login Failure', async ({ page, browser }, testInfo: TestInfo) => {
test('Non SSO login impossible', async ({ page, browser }, testInfo: TestInfo) => {
await utils.restartVaultwarden(page, testInfo, {
SSO_ENABLED: true,
SSO_ONLY: true

10
src/api/web.rs

@ -54,12 +54,14 @@ fn not_found() -> ApiResult<Html<String>> {
#[get("/css/vaultwarden.css")]
fn vaultwarden_css() -> Cached<Css<String>> {
let css_options = json!({
"signup_disabled": !CONFIG.signups_allowed() && CONFIG.signups_domains_whitelist().is_empty(),
"mail_enabled": CONFIG.mail_enabled(),
"yubico_enabled": CONFIG._enable_yubico() && (CONFIG.yubico_client_id().is_some() == CONFIG.yubico_secret_key().is_some()),
"emergency_access_allowed": CONFIG.emergency_access_allowed(),
"sends_allowed": CONFIG.sends_allowed(),
"load_user_scss": true,
"mail_enabled": CONFIG.mail_enabled(),
"sends_allowed": CONFIG.sends_allowed(),
"signup_disabled": !CONFIG.signups_allowed() && CONFIG.signups_domains_whitelist().is_empty(),
"sso_disabled": !CONFIG.sso_enabled(),
"sso_only": CONFIG.sso_enabled() && CONFIG.sso_only(),
"yubico_enabled": CONFIG._enable_yubico() && (CONFIG.yubico_client_id().is_some() == CONFIG.yubico_secret_key().is_some()),
});
let scss = match CONFIG.render_template("scss/vaultwarden.scss", &css_options) {

19
src/static/templates/scss/vaultwarden.scss.hbs

@ -20,11 +20,6 @@ a[href$="/settings/sponsored-families"] {
@extend %vw-hide;
}
/* Hide the `Enterprise Single Sign-On` button on the login page */
a[routerlink="/sso"] {
@extend %vw-hide;
}
/* Hide Two-Factor menu in Organization settings */
bit-nav-item[route="settings/two-factor"],
a[href$="/settings/two-factor"] {
@ -100,6 +95,20 @@ app-login form div + div + div + div + hr + p {
}
{{/if}}
{{#if sso_only}}
/* Hide Master password login */
.master-password-login {
@extend %vw-hide;
}
{{/if}}
{{#if sso_disabled}}
/* Hide the `Enterprise Single Sign-On` button on the login page */
a[routerlink="/sso"] {
@extend %vw-hide;
}
{{/if}}
{{#unless mail_enabled}}
/* Hide `Email` 2FA if mail is not enabled */
app-two-factor-setup ul.list-group.list-group-2fa li.list-group-item:nth-child(1) {

Loading…
Cancel
Save