�
�c� � �b � d Z ddlmZ ddlmZmZ ddlmZ ddlm Z ddl
mZmZ G d� de� Z
y )
z�
oauthlib.oauth2.rfc8628
~~~~~~~~~~~~~~~~~~~~~~~
This module is an implementation of various logic needed
for consuming and providing OAuth 2.0 Device Authorization RFC8628.
� )�add_params_to_uri)�BackendApplicationClient�Client)�InsecureTransportError)�prepare_token_request)�is_secure_transport�
list_to_scopec �: � � e Zd ZdZdZ� fd�Zdd�Z dd�Z� xZS )�DeviceClienta� A public client utilizing the device authorization workflow.
The client can request an access token using a device code and
a public client id associated with the device code as defined
in RFC8628.
The device authorization grant type can be used to obtain both
access tokens and refresh tokens and is intended to be used in
a scenario where the device being authorized does not have a
user interface that is suitable for performing authentication.
z,urn:ietf:params:oauth:grant-type:device_codec �R �� t �| � |fi |�� |j d� | _ y )N�
client_secret)�super�__init__�getr
)�self� client_id�kwargs� __class__s ��H/usr/lib/python3/dist-packages/oauthlib/oauth2/rfc8628/clients/device.pyr zDeviceClient.__init__ s& |