
    k7i                     H    S SK Jr  S SKJr  S SKJr  S SKJr   " S S5      rg)    )Optional)add_params_to_uri)	deprecate)	BaseGrantc                   4    \ rS rSrS rS rS\\   4S jrSr	g)IssuerParameter   c                     [        U[        5      (       a'  [        SSS9  UR                  SU R                  5        g UR                  SU R                  5        g )NzIssueParameter should be used as an authorization server extension with 'authorization_server.register_extension(IssueParameter())'.z1.8)versionafter_authorization_response#after_create_authorization_response)
isinstancer   r   register_hookadd_issuer_parameter)selfauthorization_servers     Z/home/james-whalen/.local/lib/python3.13/site-packages/authlib/oauth2/rfc9207/parameter.py__call__IssuerParameter.__call__	   sY    *I66 W !...)) !..5))    c                     U R                  5       (       a?  UR                  (       a-  [        UR                  SU R                  5       05      nX2l        g g g )Niss)
get_issuerlocationr   )r   r   responsenew_locations       r   r   $IssuerParameter.add_issuer_parameter   sJ    ??!2!2 -!!E4??+<#=L !- "3r   returnc                     g)zReturn the issuer URL.
Developers MAY implement this method if they want to support :rfc:`RFC9207 <9207>`::

    def get_issuer(self) -> str:
        return "https://auth.example.org"
N )r   s    r   r   IssuerParameter.get_issuer&   s     r   r    N)
__name__
__module____qualname____firstlineno__r   r   r   strr   __static_attributes__r    r   r   r   r      s    "
-HSM r   r   N)	typingr   authlib.common.urlsr   authlib.deprecater   authlib.oauth2.rfc6749.grantsr   r   r    r   r   <module>r,      s     1 ' 3% %r   