Edit File: jwt_token.cpython-37.pyc
B �e� � @ 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.3.5-1.el8.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