Python Oauth2 Ejemplo

Python Oauth2 Ejemplo

El OAUTH2 es un protocolo utilizado en el lenguaje de Python para proporcionar la funcionalidad de la comunicación del cliente-servidor. Se utiliza para intercambiar algunos datos entre el cliente y el servidor a través de la autorización. El usuario primero se autorizaría desde el servidor y obtendría el token de él. El servidor luego le proporcionará datos del usuario. Entonces, en esta guía, le proporcionaremos una breve explicación de Python Oauth2 en el Ubuntu 20.04 sistema.

El paquete "Pip" es un requisito previo para el paquete Python. Sin él, Python no se instalará en su sistema Linux. Antes de instalar Python versión 3 en su sistema, asegúrese de tener el paquete "Pip" ya configurado. Si no, usa el siguiente comando en tu shell para hacerlo.

$ sudo apt install python3 -pip

La versión 3 es la última; Por eso se recomienda. Ahora, para instalar la última versión de Python, pruebe el comando que se muestra en la imagen debajo. Toque la tecla "Enter" después de escribir la línea de comando. Puede pedirle que ingrese la contraseña de la cuenta raíz. Escriba su contraseña de root y presione "Ingrese". Comenzará a instalar Python3 y se complete en unos segundos.

$ sudo apt install python3

Ahora también necesitamos algún editor de código. Entonces, hemos estado usando el editor "nano". Si no tiene uno, intente obtenerlo con el comando declarado a continuación. También puede usar el editor "VIM".

$ sudo apt install nano

Después de haberlo hecho con los requisitos previos, debe haber instalado el paquete Python "Oauth2" en su sistema también. Sin la instalación del paquete para la API de autorización, no podemos hacer que nuestro código funcione. Así que instale la API OAuth2 Python con la ayuda de un repositorio "PIP". La instrucción para su instalación se muestra a continuación. Primero descargará el archivo zip oauth2 y luego lo extraerá para instalarlo. En 1-2 minutos, se instalará por completo y listo para usarse.

$ Pip Instale Python-Oauth2

Ejemplo 0auth2:

Cree un nuevo archivo llamado "OAuth2.py ”con una extensión de Python. Tienes que usar la consulta de "toque" en el shell de la siguiente manera:

$ touch oauth2.py

Después de la creación de un archivo de Python, abrámoslo con algún editor instalado. Hemos estado utilizando el editor de GNU Nano aquí. También puedes usar otros. El comando es el siguiente:

$ nano oauth2.py
$ python3 oauth2.py

Como el archivo se abre correctamente, debe escribir el código que se muestra a continuación como está. En primer lugar, debe importar el paquete de solicitudes, que es básicamente de la API OAuth2. Algunas variables se han definido como tipos de cadenas. Estas variables son las credenciales del cliente a ser autorizadas.

El primero es "client_id" que se le daría a su servidor cliente en la aplicación web que ha creado. El "client_secret" es la clave secreta que se ha proporcionado en el portal de su aplicación. Entonces viene una variable "redirect_url". Se utiliza para redirigirlo hacia la página web o la URL cuando ha sido autorizado con éxito. Aquí la URL de Gmail se proporciona como URL de redirección. El "Authorize_url" es la URL de la que el cliente se autoriza a sí mismo. La variable "access_token_url" contiene la URL de intercambiar el token de acceso con el código de autorización para el cliente. La siguiente línea utiliza el módulo "solicitudes" para obtener o solicitar el código de autorización a través del método "Get".

El método toma tres argumentos aquí. Después del inicio de sesión exitoso, el usuario consentirá en su demanda de verificación. El servidor autorizado lo redirigirá a la URL web que ha proporcionado en la variable "redirect_url". Le proporcionará el código de autenticación dentro de la URL de la URL de redirección.

Solicitudes de importación
Client_id = "894230029083500605"
Client_secret = "Zbez83wzl_EVOOT81VKWEX-EPDPIOMA"
Redirect_url = "https: // gmail.com "
Autorize_url = "https: // discord.com/api/oauth2/autorize "access_token_url =" https: // discord.Solicitudes de com/api/oauth2/token ".conseguir('?respuesta_type = code & client_id = & redirect_url = '.Format (Authorize_url, Client_id, Redirect_url))
peticiones.correo(
Access_token_url,
data =
'Grant_type': 'Authorization_code',
'Código': '1234567890',
'client_id': client_id,
'Client_secret': client_secret, 'redirect_url': redirect_url
)
peticiones.Get ('https: // gmail.com ',
encabezados = 'Autorización': 'Bearer Your_Access_Token')
peticiones.correo(
Access_token_url,
data =
'Grant_type': 'refresh_token',
'client_id': client_id,
'client_secret': client_secret,
'refresh_token': 'your_refresh_token')

Puede copiar ese código de la URL. Hemos estado utilizando la función de "publicar" por el paquete de solicitudes. En esta función, hemos proporcionado la variable "access_token_url" en el primer parámetro, mientras que el otro parámetro "datos" contiene los pares de valores clave de tipo de diccionario. Dentro de este diccionario, hemos especificado el tipo de subvención de cliente, yo.mi., Código de Autorización.

El "código" clave se ha utilizado aquí para obtener el código de autorización, que tiene de la URL. Pegue el access_code como un valor para la clave "Código". Luego hemos dado los pares de valor clave de ID de cliente, secreto del cliente y su URL de redirección. La función está cerrada aquí. Entonces, estás listo ahora. Hemos estado utilizando otra función para usar los detalles de autorización que obtuvimos. Tienes que proporcionar la pantalla de inicio de su cliente, yo.mi., discordia. Si ha dado el access_code correcto en la función anterior, le devolverá la información sobre el usuario. La última función, "Post" se ha utilizado aquí para actualizar su token hasta el tiempo especificado.

Entonces, si tiene la página de autorización tarde, simplemente puede actualizarla o hacer el mismo proceso una vez más. Se le proporcionará un código. Tienes que mencionar el tipo de subvención de código que ha estado usando, yo.mi., Refresh_token. Las variables, la identificación del cliente, el secreto del cliente y refresh_token se proporcionarán en su diccionario. Cuando ejecute el archivo de código, será exitoso.

$ nano oauth2.py
$ python3 oauth2.py

Echemos una mirada GUI a Oauth2 en la discordia.com cliente-servidor. Primero debe iniciar sesión desde él y hacer un nuevo servidor con cualquier nombre. Después de eso, abra la página de su desarrollador y vaya a la opción "Aplicaciones". Crear una nueva aplicación con cualquier nombre, yo.mi., También puedes usar tu nombre de usuario. Toque el área "Bot" y toque el botón "Build-a-bot". Aparecería un diálogo en tu pantalla. Tienes que nombrar tu bot y crearlo. Puedes ver que hemos creado un bot "aqsayasin" aquí. Puedes ver el bot "token" también.

Navegue hacia la opción "OAuth2". Verá la siguiente salida. Tiene su identificación de cliente, secreto del cliente, aquí. Tienes que usar estos dos en tu código. Puedes ver la sección de redireccionamientos. Puede agregar cualquier URL de redirección aquí de su elección. Pega lo mismo en tu código.

Ahora toque el texto azul resaltado "Aprenda más sobre OAuth2" para explorar desde la imagen de arriba. O simplemente toque la opción de documentación desde la barra lateral. Serás navegado hacia otra página, yo.mi., Documentación. Verá las URL enumeradas allí. Úselos en su código donde sea necesario.

Regrese a la sección de la aplicación y desplácese hacia abajo un poco. Verá la sección de ámbitos y permisos de bot aquí. Seleccione cualquier alcance que desee definir al marcarlo y asegúrese de dar derechos de administrador al bot. Copie la URL que se muestra en el cuadro de texto entre los ámbitos y el permiso de Bot y péguela en el navegador.

Debe tocar el botón Autorizar para autorizarse correctamente. Le mostrará el código al redirigir su URL de redirección. Use ese código en su script.

Conclusión:

Este artículo contiene una breve descripción e ilustración de la API de Python OAuth2 para la comunicación de cliente cliente. Explica el concepto con el proceso de autorización del código de Python y la ilustración de la interfaz GUI también. Esperamos que este artículo sea útil para nuestros usuarios mientras realiza la comunicación de cline-servidor e intercambia algunos datos.