Browse Source

docs: document PKCE usage in OpenID client

pull/670/head
Gabriel Rudloff 3 weeks ago
parent
commit
9f0c76af1c
  1. 32
      docs/source/modules/openid_client.rst

32
docs/source/modules/openid_client.rst

@ -145,3 +145,35 @@ Get auth status for a specific resource and scope by token
token = keycloak_openid.token("user", "password")
auth_status = keycloak_openid.has_uma_access(token['access_token'], "Resource#Scope")
PKCE Authorization Flow Example
----------------------------------------------
.. code-block:: python
from keycloak import KeycloakOpenID
from keycloak.pkce_utils import generate_code_verifier, generate_code_challenge
# Configure client
keycloak_openid = KeycloakOpenID(server_url="http://localhost:8080/",
client_id="example_client",
realm_name="example_realm")
# Generate PKCE values
code_verifier = generate_code_verifier()
code_challenge, code_challenge_method = generate_code_challenge(code_verifier)
# Get Code With Oauth Authorization Request (PKCE)
auth_url = keycloak_openid.auth_url(
redirect_uri="your_call_back_url",
scope="email",
state="your_state_info",
code_challenge=code_challenge,
code_challenge_method=code_challenge_method)
# Get Access Token With Code (PKCE)
access_token = keycloak_openid.token(
grant_type='authorization_code',
code='the_code_you_get_from_auth_url_callback',
redirect_uri="your_call_back_url",
code_verifier=code_verifier)
Loading…
Cancel
Save