3 kZ @ s d dl Z d dlZd dlZd dlmZ ddlmZmZmZm Z ddl mZmZm Z ddlmZmZmZmZ ddlmZmZmZmZ G dd d eZe ZejZejZejZejZejZdS ) N)Mapping ) Algorithmget_default_algorithms has_cryptorequires_cryptography)binary_typestring_types text_type)DecodeErrorInvalidAlgorithmErrorInvalidSignatureErrorInvalidTokenError)base64url_decodebase64url_encodeforce_bytes merge_dictc @ s| e Zd ZdZdddZedd Zdd Zd d Zdd Z dddZ d ddZdd Zdd Z d!ddZdd Zdd ZdS )"PyJWSZJWTNc C sj t | _|d k rt|nt| j| _x(t| jj D ]}|| jkr4| j|= q4W |sVi }t| j || _d S )N) r _algorithmsset_valid_algslistkeysr _get_default_optionsoptions)self algorithmsr key r /usr/lib/python3.6/api_jws.py__init__ s zPyJWS.__init__c C s ddiS )Nverify_signatureTr r r r r r # s zPyJWS._get_default_optionsc C s> || j krtdt|ts$td|| j |<