mirror of
https://github.com/discourse/discourse.git
synced 2025-07-12 18:32:40 +08:00

This adds a link for each authentication providers that are listed in /my/preferences/account in the "Associated Accounts" section. This is particularly useful when Discourse is being used in the PWA or in the DiscourseMobile app where there's no browser bar available and the only way to visit the provider's website is to open a browser window. That way, they can _just_ click the provider's name. Internal ref - t/156255 --- **BEFORE**  **AFTER** 
42 lines
662 B
Ruby
42 lines
662 B
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
|
|
%i[
|
|
authenticator
|
|
custom_url
|
|
frame_height
|
|
frame_width
|
|
icon
|
|
pretty_name
|
|
pretty_name_setting
|
|
title
|
|
title_setting
|
|
]
|
|
end
|
|
|
|
attr_accessor(*auth_attributes)
|
|
|
|
def can_connect
|
|
authenticator.can_connect_existing_user?
|
|
end
|
|
|
|
def can_revoke
|
|
authenticator.can_revoke?
|
|
end
|
|
|
|
def name
|
|
authenticator.name
|
|
end
|
|
|
|
def provider_url
|
|
authenticator.provider_url
|
|
end
|
|
end
|