File: //opt/alt/python37/lib/python3.7/site-packages/clcommon/lib/__pycache__/jwt_token.cpython-37.pyc
B
|��HI�ޫ� @ s: d dl mZmZ d dlmZ dd� Zddd�Zdd � Zd
S )� )�decode�
exceptions)�DEFAULT_JWT_ES_TOKEN_PATHc C s( t | dd��}|�� �� }W d Q R X |S )N�rb)�mode)�open�read�strip)Zjwt_path�f�token_string� r ��/builddir/build/BUILDROOT/alt-python27-cllib-3.4.1-1.el9.cloudlinux.x86_64/opt/alt/python37/lib/python3.7/site-packages/clcommon/lib/jwt_token.py�read_jwt s r Tc C s2 t | dgd|ddd�dd�}d|kr.t�d��|S )NZHS256TF)Zrequire_exp�
verify_expZ
verify_issZverify_signatureZ
CloudLinux)Z
algorithmsZoptionsZissuerZexp)r r ZMissingRequiredClaimError)r r � jwt_tokenr r r
�
decode_jwt s
r c C s� d\} }}yt t�}W n$ ttfk
r: dd�t�dfS X y:t|�}|�d�dkr`d\} }}n|�d�std\} }}W n\ tjk
r� d\} }}Y n> tj k
r� d \} }}Y n tj
k
r� d\} }}Y nX | ||fS )
z�
JWT token check
:return: Tuple: success_flag, error_message, token_string
success_flag: True/False - OK, JWT is valid/Error, invalid
error_message: Error message
token_string: Token string
)TZOKNFzJWT file {} read errorNZcl_plus)FzJWT token format errorN)Fz"JWT token doesn't have CL+ serviceN)FzJWT token issuer is invalidN)FzJWT token expiredN)r r �OSError�IOError�formatr �getr ZInvalidIssuerErrorZExpiredSignatureErrorZ
PyJWTError)Zsuccess_flagZ
error_messager r r r r
�jwt_token_check s$
r N)T)Zjwtr r Zclcommon.lib.constsr r r r r r r r
�<module> s