mirror of
https://github.com/nextcloud/server.git
synced 2026-07-16 05:13:10 -04:00
Merge pull request #25910 from nextcloud/enh/allow_login_block
Allow admins to hide the login form
This commit is contained in:
commit
a63b709bed
6 changed files with 28 additions and 3 deletions
|
|
@ -305,6 +305,15 @@ $CONFIG = [
|
|||
*/
|
||||
'auth.webauthn.enabled' => true,
|
||||
|
||||
/**
|
||||
* By default the login form is always available. There are cases (SSO) where an
|
||||
* admin wants to avoid users entering their credentials to the system if the SSO
|
||||
* app is unavailable.
|
||||
*
|
||||
* This will show an error. But the the direct login still works with adding ?direct=1
|
||||
*/
|
||||
'hide_login_form' => false,
|
||||
|
||||
/**
|
||||
* The directory where the skeleton files are located. These files will be
|
||||
* copied to the data directory of new users. Leave empty to not copy any
|
||||
|
|
|
|||
|
|
@ -191,6 +191,8 @@ class LoginController extends Controller {
|
|||
|
||||
$this->initialStateService->provideInitialState('core', 'webauthn-available', $this->webAuthnManager->isWebAuthnAvailable());
|
||||
|
||||
$this->initialStateService->provideInitialState('core', 'hideLoginForm', $this->config->getSystemValueBool('hide_login_form', false));
|
||||
|
||||
// OpenGraph Support: http://ogp.me/
|
||||
Util::addHeader('meta', ['property' => 'og:title', 'content' => Util::sanitizeHTML($this->defaults->getName())]);
|
||||
Util::addHeader('meta', ['property' => 'og:description', 'content' => Util::sanitizeHTML($this->defaults->getSlogan())]);
|
||||
|
|
|
|||
2
core/js/dist/login.js
vendored
2
core/js/dist/login.js
vendored
File diff suppressed because one or more lines are too long
2
core/js/dist/login.js.map
vendored
2
core/js/dist/login.js.map
vendored
File diff suppressed because one or more lines are too long
|
|
@ -67,5 +67,6 @@ new View({
|
|||
hasPasswordless: fromStateOr('webauthn-available', false),
|
||||
isHttps: window.location.protocol === 'https:',
|
||||
hasPublicKeyCredential: typeof (window.PublicKeyCredential) !== 'undefined',
|
||||
hideLoginForm: fromStateOr('hideLoginForm', false),
|
||||
},
|
||||
}).$mount('#login')
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
-->
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="!hideLoginForm || directLogin">
|
||||
<transition name="fade" mode="out-in">
|
||||
<div v-if="!passwordlessLogin && !resetPassword && resetPasswordTarget === ''"
|
||||
key="login">
|
||||
|
|
@ -84,6 +84,15 @@
|
|||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
<div v-else>
|
||||
<transition name="fade" mode="out-in">
|
||||
<div class="warning">
|
||||
{{ t('core', 'Login form is disabled.') }}<br>
|
||||
<small>{{ t('core', 'Please contact your administrator.') }}
|
||||
</small>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
|
@ -153,6 +162,10 @@ export default {
|
|||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
hideLoginForm: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
|||
Loading…
Reference in a new issue