mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 10:41:45 +08:00
d2bceff133
Using popups is becoming increasingly rare. Full page redirects are already used on mobile, and for some providers. This commit removes all logic related to popup authentication, leaving only the full page redirect method. For more info, see https://meta.discourse.org/t/do-we-need-popups-for-login/127988
48 lines
1.4 KiB
Ruby
48 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class Auth::AuthProvider
|
|
include ActiveModel::Serialization
|
|
|
|
def initialize(params = {})
|
|
params.each { |key, value| public_send "#{key}=", value }
|
|
end
|
|
|
|
def self.auth_attributes
|
|
[:pretty_name, :title, :message, :frame_width, :frame_height, :authenticator,
|
|
:pretty_name_setting, :title_setting, :enabled_setting, :full_screen_login, :full_screen_login_setting,
|
|
:custom_url, :background_color, :icon]
|
|
end
|
|
|
|
attr_accessor(*auth_attributes)
|
|
|
|
def enabled_setting=(val)
|
|
Discourse.deprecate("(#{authenticator.name}) enabled_setting is deprecated. Please define authenticator.enabled? instead")
|
|
@enabled_setting = val
|
|
end
|
|
|
|
def background_color=(val)
|
|
Discourse.deprecate("(#{authenticator.name}) background_color is no longer functional. Please use CSS instead")
|
|
end
|
|
|
|
def full_screen_login=(val)
|
|
Discourse.deprecate("(#{authenticator.name}) full_screen_login is now forced. The full_screen_login parameter can be removed from the auth_provider.")
|
|
end
|
|
|
|
def full_screen_login_setting=(val)
|
|
Discourse.deprecate("(#{authenticator.name}) full_screen_login is now forced. The full_screen_login_setting parameter can be removed from the auth_provider.")
|
|
end
|
|
|
|
def name
|
|
authenticator.name
|
|
end
|
|
|
|
def can_connect
|
|
authenticator.can_connect_existing_user?
|
|
end
|
|
|
|
def can_revoke
|
|
authenticator.can_revoke?
|
|
end
|
|
|
|
end
|