
    lKj                     N    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d de      Z	y)	zzClient metadata for OpenID Connect RP-Initiated Logout 1.0.

https://openid.net/specs/openid-connect-rpinitiated-1_0.html
    )InvalidClaimError)is_secure_transport)is_valid_url)
BaseClaimsc                   0     e Zd ZdZdgZd fd	Zd Z xZS )ClientMetadataClaimsa  Client metadata for OpenID Connect RP-Initiated Logout 1.0.

    This can be used with :ref:`specs/rfc7591` and :ref:`specs/rfc7592` endpoints::

        server.register_endpoint(
            ClientRegistrationEndpoint(
                claims_classes=[
                    rfc7591.ClientMetadataClaims,
                    oidc.registration.ClientMetadataClaims,
                    oidc.rpinitiated.ClientMetadataClaims,
                ]
            )
        )
    post_logout_redirect_urisc                 F    t         |   ||       | j                          y )N)supervalidate#_validate_post_logout_redirect_uris)selfnowleeway	__class__s      v/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/authlib/oidc/rpinitiated/registration.pyr   zClientMetadataClaims.validate!   s    f%002    c                     | j                  d      }|sy | j                  d      dk(  }|D ]1  }t        |      st        d      |st        |      r(t	        d       y )Nr	   token_endpoint_auth_methodnonezF"post_logout_redirect_uris" MUST use "https" scheme for public clients)getr   r   r   
ValueError)r   uris	is_publicuris       r   r   z8ClientMetadataClaims._validate_post_logout_redirect_uris%   sf     xx34HH9:fD	C$'(CDD!4S!9 \  r   )Nr   )__name__
__module____qualname____doc__REGISTERED_CLAIMSr   r   __classcell__)r   s   @r   r   r      s      	$3r   r   N)
r   joserfc.errorsr   authlib.common.securityr   authlib.common.urlsr   authlib.oauth2.claimsr   r    r   r   <module>r'      s$   
 - 7 , ,,: ,r   