__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
B
�E�`� � @ sf d dl Z d dlZd dlmZ d dlmZmZ ddlm Z m
Z
ddlmZ
ddlmZ G dd � d �ZdS )
� N)� lru_cache)�Any�List� )�PyJWK�PyJWKSet)�decode_complete)�PyJWKClientErrorc @ sn e Zd Zdeeed�dd�Zed�dd�Ze d�d d
�Z
ee d�dd�Z
eed
�dd�Zeed�dd�ZdS )�PyJWKClientT� )�uri�
cache_keys�max_cached_keysc C s || _ |rt|d�| j�| _d S )N)�maxsize)r r �get_signing_key)�selfr r
r � r �@/opt/alt/python37/lib/python3.7/site-packages/jwt/jwks_client.py�__init__ s zPyJWKClient.__init__)�returnc C s$ t j�| j��}t�|�S Q R X d S )N)�urllibZrequestZurlopenr �json�load)r Zresponser r r �
fetch_data s zPyJWKClient.fetch_datac C s | � � }t�|�S )N)r r Z from_dict)r �datar r r �get_jwk_set s zPyJWKClient.get_jwk_setc C sN | � � }g }x(|jD ]}|jdkr|jr|�|� qW t|�dkrJtd��|S )N�sigr z2The JWKS endpoint did not contain any signing keys)r �keysZpublic_key_use�key_id�append�lenr )r Zjwk_set�signing_keysZjwk_set_keyr r r �get_signing_keys s zPyJWKClient.get_signing_keys)�kidr c C sB | � � }d }x|D ]}|j|kr|}P qW |s>td|� d���|S )Nz,Unable to find a signing key that matches: "�")r"