Module: Sorcery::Controller::Submodules::External::Providers::Facebook::FacebookClient
- Defined in:
- lib/sorcery/controller/submodules/external/providers/facebook.rb
Class Attribute Summary collapse
-
.access_permissions ⇒ Object
Returns the value of attribute access_permissions.
-
.access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
.callback_url ⇒ Object
Returns the value of attribute callback_url.
-
.display ⇒ Object
Returns the value of attribute display.
-
.key ⇒ Object
Returns the value of attribute key.
-
.scope ⇒ Object
Returns the value of attribute scope.
-
.secret ⇒ Object
Returns the value of attribute secret.
-
.site ⇒ Object
Returns the value of attribute site.
-
.user_info_mapping ⇒ Object
Returns the value of attribute user_info_mapping.
-
.user_info_path ⇒ Object
Returns the value of attribute user_info_path.
Class Method Summary collapse
-
.authorize_url ⇒ Object
overrides oauth2#authorize_url to allow customized scope.
- .get_user_hash ⇒ Object
- .has_callback? ⇒ Boolean
- .init ⇒ Object
-
.login_url(params, session) ⇒ Object
calculates and returns the url to which the user should be redirected, to get authenticated at the external provider’s site.
-
.process_callback(params, session) ⇒ Object
tries to login the user from access token.
Methods included from Sorcery::Controller::Submodules::External::Protocols::Oauth2
authorize_url, build_client, get_access_token, oauth_version
Class Attribute Details
.access_permissions ⇒ Object
Returns the value of attribute access_permissions.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def @access_permissions end |
.access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
40 41 42 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 40 def access_token @access_token end |
.callback_url ⇒ Object
Returns the value of attribute callback_url.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def callback_url @callback_url end |
.display ⇒ Object
Returns the value of attribute display.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def display @display end |
.key ⇒ Object
Returns the value of attribute key.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def key @key end |
.scope ⇒ Object
Returns the value of attribute scope.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def scope @scope end |
.secret ⇒ Object
Returns the value of attribute secret.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def secret @secret end |
.site ⇒ Object
Returns the value of attribute site.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def site @site end |
.user_info_mapping ⇒ Object
Returns the value of attribute user_info_mapping.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def user_info_mapping @user_info_mapping end |
.user_info_path ⇒ Object
Returns the value of attribute user_info_path.
31 32 33 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 31 def user_info_path @user_info_path end |
Class Method Details
.authorize_url ⇒ Object
overrides oauth2#authorize_url to allow customized scope.
75 76 77 78 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 75 def @scope = self..present? ? self..join(",") : @scope super end |
.get_user_hash ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 56 def get_user_hash user_hash = {} response = @access_token.get(@user_info_path) user_hash[:user_info] = JSON.parse(response.body) user_hash[:uid] = user_hash[:user_info]['id'] user_hash end |
.has_callback? ⇒ Boolean
64 65 66 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 64 def has_callback? true end |
.init ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 44 def init @site = "https://graph.facebook.com" @user_info_path = "/me" @scope = "email,offline_access" @user_info_mapping = {} @display = "page" @token_url = "oauth/access_token" @mode = :query @parse = :query @param_name = "access_token" end |
.login_url(params, session) ⇒ Object
calculates and returns the url to which the user should be redirected, to get authenticated at the external provider’s site.
70 71 72 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 70 def login_url(params,session) self. end |
.process_callback(params, session) ⇒ Object
tries to login the user from access token
81 82 83 84 85 86 |
# File 'lib/sorcery/controller/submodules/external/providers/facebook.rb', line 81 def process_callback(params,session) args = {} = { :token_url => @token_url, :mode => @mode, :param_name => @param_name, :parse => @parse } args.merge!({:code => params[:code]}) if params[:code] @access_token = self.get_access_token(args, ) end |