FEATURE: allow auth plugins to have a site setting for full screen login

This commit is contained in:
David Taylor 2018-07-26 11:11:16 +01:00 committed by GitHub
commit 88241f57a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -47,7 +47,17 @@ const LoginMethod = Ember.Object.extend({
customLogin();
} else {
let authUrl = this.get("customUrl") || Discourse.getURL("/auth/" + name);
if (this.get("fullScreenLogin")) {
// first check if this plugin has a site setting for full screen login before using the static setting
let fullScreenLogin = false;
const fullScreenLoginSetting = this.get("fullScreenLoginSetting");
if (!Ember.isEmpty(fullScreenLoginSetting)) {
fullScreenLogin = this.siteSettings[fullScreenLoginSetting];
} else {
fullScreenLogin = this.get("fullScreenLogin");
}
if (fullScreenLogin) {
document.cookie = "fsl=true";
window.location = authUrl;
} else {

View File

@ -2,7 +2,8 @@ class Plugin::AuthProvider
def self.auth_attributes
[:glyph, :background_color, :pretty_name, :title, :message, :frame_width, :frame_height, :authenticator,
:pretty_name_setting, :title_setting, :enabled_setting, :full_screen_login, :custom_url]
:pretty_name_setting, :title_setting, :enabled_setting, :full_screen_login, :full_screen_login_setting,
:custom_url]
end
attr_accessor(*auth_attributes)
@ -23,6 +24,7 @@ class Plugin::AuthProvider
result['frameWidth'] = frame_width if frame_width
result['frameHeight'] = frame_height if frame_height
result['fullScreenLogin'] = full_screen_login if full_screen_login
result['fullScreenLoginSetting'] = full_screen_login_setting if full_screen_login_setting
result.to_json
end