openid_api.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from SampleApp import config
  2. import requests
  3. authorization_url = config.OpenID_SERVER + config.OpenID_AUTHORIZATION_URL
  4. token_url = config.OpenID_SERVER + config.OpenID_TOKEN_URL
  5. userinfo_url = config.OpenID_SERVER + config.OpenID_RESOURCE_URL
  6. class OpenID_CLIENT(object):
  7. """docstring for OpenID_CLIENT"""
  8. def __init__(self, *arg):
  9. super(OpenID_CLIENT, self).__init__()
  10. # def get_code(self):
  11. # auth_url = authorization_url + "?client_id="+ config.OpenID_CLIENT_ID+"&response_type=code&redirect_uri="+config.OpenID_CALLBACK_URL
  12. # response = requests.get(auth_url)
  13. # import pdb;pdb.set_trace()
  14. # return code
  15. def get_access_token(self, code):
  16. request_data = {
  17. 'client_id' : config.OpenID_CLIENT_ID,
  18. 'client_secret' : config.OpenID_CLIENT_SECRET,
  19. 'redirect_uri' : config.OpenID_CALLBACK_URL,
  20. 'grant_type' : 'authorization_code',
  21. 'code' : code
  22. }
  23. response = requests.post(token_url, data = request_data)
  24. return response.json()
  25. def get_refresh_token(self, refresh_token):
  26. request_data = {
  27. 'client_id' : config.OpenID_CLIENT_ID,
  28. 'client_secret' : config.OpenID_CLIENT_SECRET,
  29. 'redirect_uri' : config.OpenID_CALLBACK_URL,
  30. 'grant_type' : 'authorization_code',
  31. 'refresh_token' : refresh_token
  32. }
  33. response = requests.post(token_url, data = request_data)
  34. return response.json()
  35. def get_userinfo(self, access_token):
  36. response = requests.get(userinfo_url+"?access_token=%s"%access_token)
  37. return response