2
Openshift OAuth2 backend
6
from six.moves.urllib.parse import urljoin
8
from ..utils import append_slash
9
from .oauth import BaseOAuth2
12
class OpenshiftOAuth2(BaseOAuth2):
14
ACCESS_TOKEN_METHOD = 'POST'
16
def access_token_url(self):
17
return urljoin(append_slash(self.setting('URL')), 'oauth/token')
19
def authorization_url(self):
20
return urljoin(append_slash(self.setting('URL')), 'oauth/authorize')
22
def get_user_id(self, details, response):
23
return response['metadata']['uid']
25
def get_user_details(self, response):
26
"""Return user details from openshift account"""
27
username = response['metadata']['name']
28
email = response['metadata']['name']
29
return {'username': username,
32
def user_data(self, access_token, *args, **kwargs):
33
"""Loads user data from service"""
34
headers = {'Authorization': 'Bearer ' + access_token}
37
urljoin(append_slash(self.setting('URL')), 'oapi/v1/users/~'),