diff --git a/README.md b/README.md index 188306c..6a8c9cc 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,9 @@ The documentation for python-keycloak is available on [readthedocs](http://pytho * [Marcos Pereira](marcospereira.mpj@gmail.com) * [Martin Devlin](martin.devlin@pearson.com) * [Shon T. Urbas](shon.urbas@gmail.com>) +* [Markus Spanier]() +* [Remco Kranenburg]() +* [Remco Kranenburg]() ## Usage diff --git a/keycloak/keycloak_openid.py b/keycloak/keycloak_openid.py index f1dcde4..c579052 100644 --- a/keycloak/keycloak_openid.py +++ b/keycloak/keycloak_openid.py @@ -150,7 +150,7 @@ class KeycloakOpenID: """ 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 exchanging an authorization code or by supplying credentials directly depending on @@ -162,11 +162,14 @@ class KeycloakOpenID: :param username: :param password: :param grant_type: + :param code: + :param redirect_uri :return: """ params_path = {"realm-name": self.realm_name} 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) data_raw = self.connection.raw_post(URL_TOKEN.format(**params_path), diff --git a/requirements.txt b/requirements.txt index 386a0c8..f03af1b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -requests==2.18.4 -httmock==1.2.5 -python-jose==1.4.0 -simplejson \ No newline at end of file +requests>=2.18.4 +httmock>=1.2.5 +python-jose>=1.4.0 +simplejson