Файловый менеджер - Редактировать - /usr/lib/python3/dist-packages/sos/policies/auth/__pycache__/__init__.cpython-310.pyc
Ðазад
o G%@i,! � @ s| d dl Z zd dlZdZW n ey dZY nw d dlZd dlmZmZmZ d dlm Z dZ dZe �d�Z G d d � d �ZdS )� NTF)�datetime� timedelta�timezone)�TIMEOUT_DEFAULTz sos-toolsz,urn:ietf:params:oauth:grant-type:device_code�sosc @ sZ e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z dd� Zddd�ZdS )�DeviceAuthorizationClassz$ Device Authorization Class c C s* d | _ d | _d | _|| _|| _| �� d S �N)� _access_token�_access_expires_at�&_DeviceAuthorizationClass__device_code�client_identifier_url�token_endpoint�_use_device_code_grant)�selfr r � r �</usr/lib/python3/dist-packages/sos/policies/auth/__init__.py�__init__! s z!DeviceAuthorizationClass.__init__c C s$ | � � td| j� �� | �� dS )zv Start the device auth flow. In the future we will store the tokens in an in-memory keyring. z<Please visit the following URL to authenticate this device: N)�_request_device_code�print�_verification_uri_complete�poll_for_auth_completion�r r r r r + s ��z/DeviceAuthorizationClass._use_device_code_grantc C s� dt � �}ddi}tstd��z3tj| j||td�}|�� |�� }|� d�| _ |� d�| _|� d�| _|� d �| _ |� d �| _W d S tjy[ } zt�d|j� d|� ���d }~ww )zm Initialize new Device Authorization Grant attempt by requesting a new device code. z client_id=zcontent-typez!application/x-www-form-urlencoded�Rpython3-requests is not installed and is required for obtaining device auth token.)�data�headers�timeout� user_code�verification_uri�interval�device_code�verification_uri_completezNHTTP request failed while attempting to acquire the tokens.Error returned was � N)�DEVICE_AUTH_CLIENT_ID�REQUESTS_LOADED� Exception�requests�postr r �raise_for_status�json�get� _user_code�_verification_uri� _intervalr r � HTTPError�status_code)r r r �res�response�er r r r 9 s8 ������z-DeviceAuthorizationClass._request_device_codec C s� t t| jd�}ts td��| jdu rvt�| j� z:t j | j|td�}|j }|dkr5t�d� | �|�� � |dvr?t||j��|dkrQ|�� d d vrQt||j��W n t jjyn } zt�d|� �� W Y d}~nd}~ww | jdu sdS dS )z� Continuously poll OIDC token endpoint until the user is successfully authenticated or an error occurs. )� grant_type� client_idr r N�r r �� z$The SSO authentication is successful)r5 � r6 �error)�authorization_pending� slow_downz)Error was found while posting a request: )�GRANT_TYPE_DEVICE_CODEr"