Browse Source

Add possibility to use authorization_code in KeycloakOpenID.token

hotfix/merge
Remco Kranenburg 6 years ago
parent
commit
d8bd5076ed
  1. 7
      keycloak/keycloak_openid.py

7
keycloak/keycloak_openid.py

@ -150,7 +150,7 @@ class KeycloakOpenID:
""" """
return NotImplemented return NotImplemented
def token(self, username, password, grant_type=["password"]):
def token(self, username="", password="", grant_type=["password"], code="", redirect_uri=""):
""" """
The token endpoint is used to obtain tokens. Tokens can either be obtained by The token endpoint is used to obtain tokens. Tokens can either be obtained by
exchanging an authorization code or by supplying credentials directly depending on exchanging an authorization code or by supplying credentials directly depending on
@ -162,11 +162,14 @@ class KeycloakOpenID:
:param username: :param username:
:param password: :param password:
:param grant_type: :param grant_type:
:param code:
:param redirect_uri
:return: :return:
""" """
params_path = {"realm-name": self.realm_name} params_path = {"realm-name": self.realm_name}
payload = {"username": username, "password": password, payload = {"username": username, "password": password,
"client_id": self.client_id, "grant_type": grant_type}
"client_id": self.client_id, "grant_type": grant_type,
"code": code, "redirect_uri": redirect_uri}
payload = self._add_secret_key(payload) payload = self._add_secret_key(payload)
data_raw = self.connection.raw_post(URL_TOKEN.format(**params_path), data_raw = self.connection.raw_post(URL_TOKEN.format(**params_path),

Loading…
Cancel
Save