o
    Df)                     @   sF   d dl Z d dlmZmZmZ d dlmZ dd ZdddZd	d
 Z	dS )    N)urlsafe_b64decode
json_loads
to_unicode)DecodeErrorc              
   C   s\   t | |d}z	t|d}W n ty" } z|d| d }~ww t|ts,|d|S )Nheaderzutf-8zInvalid header string: zHeader must be a json object)extract_segmentr   decode
ValueError
isinstancedict)header_segment	error_clsheader_datar   e r   J/home/ubuntu/webapp/venv/lib/python3.10/site-packages/authlib/jose/util.pyextract_header   s   
r   payloadc              	   C   s4   zt | W S  ttjfy   d| d}||w )NInvalid z padding)r   	TypeErrorbinasciiError)segmentr   namemsgr   r   r   r      s   
r   c              	   C   sX   t | tsztt| } W n ttfy   td| w t | ts*td| | S )Nr   )r
   r   r   r   r	   r   r   )sstructure_namer   r   r   ensure_dict   s   

r   )r   )
r   authlib.common.encodingr   r   r   authlib.jose.errorsr   r   r   r   r   r   r   r   <module>   s    
