
    ~hh                     Z    d dl mZmZmZmZ d dlmZmZ d dlm	Z	  G d deeeef         Z
y)    )AccessTokenAuthorizationCode OAuthAuthorizationServerProviderRefreshToken)ClientRegistrationOptionsRevocationOptions)
AnyHttpUrlc                   h     e Zd Z	 	 	 	 ddeez  deez  dz  dedz  dedz  dee   dz  f
 fdZ xZ	S )	OAuthProviderN
issuer_urlservice_documentation_urlclient_registration_optionsrevocation_optionsrequired_scopesc                     t         |           t        |t              rt	        |      }t        |t              rt	        |      }|| _        || _        || _        || _        || _	        y)a  
        Initialize the OAuth provider.

        Args:
            issuer_url: The URL of the OAuth issuer.
            service_documentation_url: The URL of the service documentation.
            client_registration_options: The client registration options.
            revocation_options: The revocation options.
            required_scopes: Scopes that are required for all requests.
        N)
super__init__
isinstancestrr	   r   r   r   r   r   )selfr   r   r   r   r   	__class__s         T/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/fastmcp/server/auth/auth.pyr   zOAuthProvider.__init__   sb    $ 	j#&#J/J/5(23L(M%$)B&+F("4.    )NNNN)
__name__
__module____qualname__r	   r   r   r   listr   __classcell__)r   s   @r   r   r      sn     >BHL7;,0/$/ $.#3d#:/ &?%E	/
 .4/ cT)/ /r   r   N)mcp.server.auth.providerr   r   r   r   mcp.server.auth.settingsr   r   pydanticr	   r    r   r   <module>r#      s3      /$%6k%QR/r   