social-core
social-core copied to clipboard
add `MockLab` provider for testing
I added mocklab provider for testing.
draft code here, I'll make a pr and do fully test in the future.:
"""
@author: https://github.com/lvelvee
"""
from social_core.backends.oauth import BaseOAuth2
class MockLabOAuth2(BaseOAuth2):
name = 'mocklab'
ID_KEY = "sub"
DEFAULT_SCOPE = ['openid']
EXTRA_DATA = ['id_token', 'email', ('sub', 'id')]
ACCESS_TOKEN_METHOD = "POST"
REDIRECT_STATE = False
def authorization_url(self):
return self.setting("authorization_url")
def access_token_url(self):
return self.setting("access_token_url")
def user_data(self, access_token, *args, **kwargs):
url = self.setting("user_info_url")
return self.get_json(url, headers={'Authorization': f'Bearer {access_token}'})
def get_user_details(self, response):
return {
'username': response.get('sub', ''),
'email': response.get('email', ''),
}