Repository URL to install this package:
Version:
0.2.10 ▾
|
"""
MapMyFitness OAuth2 backend, docs at:
http://psa.matiasaguirre.net/docs/backends/mapmyfitness.html
"""
from social.backends.oauth import BaseOAuth2
class MapMyFitnessOAuth2(BaseOAuth2):
"""MapMyFitness OAuth authentication backend"""
name = 'mapmyfitness'
AUTHORIZATION_URL = 'https://www.mapmyfitness.com/v7.0/oauth2/authorize'
ACCESS_TOKEN_URL = \
'https://oauth2-api.mapmyapi.com/v7.0/oauth2/access_token'
REQUEST_TOKEN_METHOD = 'POST'
ACCESS_TOKEN_METHOD = 'POST'
REDIRECT_STATE = False
EXTRA_DATA = [
('refresh_token', 'refresh_token'),
]
def auth_headers(self):
key = self.get_key_and_secret()[0]
return {
'Api-Key': key
}
def get_user_id(self, details, response):
return response['id']
def get_user_details(self, response):
first = response.get('first_name', '')
last = response.get('last_name', '')
full = (first + last).strip()
return {
'username': response['username'],
'email': response['email'],
'fullname': full,
'first_name': first,
'last_name': last,
}
def user_data(self, access_token, *args, **kwargs):
key = self.get_key_and_secret()[0]
url = 'https://oauth2-api.mapmyapi.com/v7.0/user/self/'
headers = {
'Authorization': 'Bearer {0}'.format(access_token),
'Api-Key': key
}
return self.get_json(url, headers=headers)