ACCESS_TOKEN_URL = None
SCOPE_SEPARATOR = ' '
RESPONSE_TYPE = 'code'
+
+ SCOPE_VAR_NAME = None
+ DEFAULT_SCOPE = []
def auth_url(self):
"""Return redirect url"""
def get_scope(self):
"""Return list with needed access scope"""
- return []
+ scope_var_name = getattr(self, 'SCOPE_VAR_NAME', None)
+ scope = getattr(self, 'DEFAULT_SCOPE', [])
+ # scope_var_name should not be empty string
+ if scope_var_name:
+ scope = scope + setting(scope_var_name, [])
+ return scope
# Backend loading was previously performed via the
SETTINGS_KEY_NAME = 'GITHUB_APP_ID'
SETTINGS_SECRET_NAME = 'GITHUB_API_SECRET'
SCOPE_SEPARATOR = ','
-
- def get_scope(self):
- """Return list with needed access scope"""
- # Look at http://developer.github.com/v3/oauth/
- return setting('GITHUB_EXTENDED_PERMISSIONS', [])
-
+ # Look at http://developer.github.com/v3/oauth/
+ SCOPE_VAR_NAME = 'GITHUB_EXTENDED_PERMISSIONS'
+
def user_data(self, access_token, *args, **kwargs):
"""Loads user data from service"""
url = GITHUB_USER_DATA_URL + '?' + urlencode({
AUTH_BACKEND = VkontakteBackend
SETTINGS_KEY_NAME = 'VK_APP_ID'
SETTINGS_SECRET_NAME = 'VK_API_SECRET'
+ # Look at http://vk.com/developers.php?oid=-1&p=%D0%9F%D1%80%D0%B0%D0%B2%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9
+ SCOPE_VAR_NAME = 'VK_EXTRA_SCOPE'
def user_data(self, access_token, response, *args, **kwargs):
"""Loads user data from service"""
except (ValueError, IndexError):
return None
- def get_scope(self):
- """Return list with needed access scope"""
- # Look at http://vk.com/developers.php?oid=-1&p=%D0%9F%D1%80%D0%B0%D0%B2%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9
- return setting('VK_EXTRA_SCOPE', [])
# Backend definition
AUTHORIZATION_URL = 'https://www.facebook.com/dialog/oauth'
SETTINGS_KEY_NAME = 'FACEBOOK_APP_ID'
SETTINGS_SECRET_NAME = 'FACEBOOK_API_SECRET'
-
- def get_scope(self):
- return setting('FACEBOOK_EXTENDED_PERMISSIONS', [])
-
+ SCOPE_VAR_NAME = 'FACEBOOK_EXTENDED_PERMISSIONS'
+
def user_data(self, access_token, *args, **kwargs):
"""Loads user data from service"""
data = None
ACCESS_TOKEN_URL = 'https://accounts.google.com/o/oauth2/token'
SETTINGS_KEY_NAME = _OAUTH2_KEY_NAME
SETTINGS_SECRET_NAME = 'GOOGLE_OAUTH2_CLIENT_SECRET'
-
- def get_scope(self):
- return GOOGLE_OAUTH2_SCOPE + setting('GOOGLE_OAUTH_EXTRA_SCOPE', [])
-
+ SCOPE_VAR_NAME = 'GOOGLE_OAUTH_EXTRA_SCOPE'
+ DEFAULT_SCOPE = GOOGLE_OAUTH2_SCOPE
+
def user_data(self, access_token, *args, **kwargs):
"""Return user data from Google API"""
return googleapis_profile(GOOGLEAPIS_PROFILE, access_token)