Autenticación mediante requests de Python

La autenticación se refiere a otorgar permisos a un usuario para acceder a un recurso en particular. Dado que no se puede permitir que todos accedan a los datos de cada URL, uno requeriría autenticación principalmente. Para lograr esta autenticación, normalmente se proporcionan datos de autenticación a través del encabezado de autorización o un encabezado personalizado definido por el servidor.

Ejemplo –

# import requests module
import requests
from requests.auth import HTTPBasicAuth
  
# Making a get request
response = requests.get('https://api.github.com / user, ',
            auth = HTTPBasicAuth('user', 'pass'))
  
# print request object
print(response)

Reemplace «usuario» y «contraseña» con su nombre de usuario y contraseña. Autenticará la solicitud y devolverá una respuesta 200 o, de lo contrario, devolverá el error 403.
authenticate-python-requests
Si tiene un nombre de usuario o contraseña no válidos, devolverá un error como:
autentication-python-requests

Tipos de autenticación

Autenticación Digest
Otra forma muy popular de Autenticación HTTP es la Autenticación Digest, y las Requests también lo admiten desde el primer momento:

>>> from requests.auth import HTTPDigestAuth
>>> url = 'https://httpbin.org/digest-auth/auth/user/pass'
>>> requests.get(url, auth=HTTPDigestAuth('user', 'pass'))

Autenticación OAuth 1
Una forma común de autenticación para varias API web es OAuth. La biblioteca de requests-oauthlib permite a los usuarios de Requests realizar fácilmente requests autenticadas con OAuth 1:

>>> import requests
>>> from requests_oauthlib import OAuth1

>>> url = 'https://api.twitter.com/1.1/account/verify_credentials.json'
>>> auth = OAuth1('YOUR_APP_KEY', 'YOUR_APP_SECRET',
...               'USER_OAUTH_TOKEN', 'USER_OAUTH_TOKEN_SECRET')

>>> requests.get(url, auth=auth)

Para obtener más información sobre cómo funciona el flujo de OAuth, consulte el sitio web oficial de OAuth. Para obtener ejemplos y documentación sobre requests-oauthlib, consulte el repositorio de requests_oauthlib en GitHub

Autenticación de OAuth 2 y OpenID Connect
La biblioteca de requests-oauthlib también maneja OAuth 2, el mecanismo de autenticación que sustenta OpenID Connect. Consulte la documentación de Requests-oauthlib OAuth2 para obtener detalles sobre los distintos flujos de administración de credenciales de OAuth 2:

Otras
requests de autenticación está diseñado para permitir que otras formas de autenticación se conecten fácil y rápidamente. Los miembros de la comunidad de código abierto escriben con frecuencia controladores de autenticación para formas de autenticación más complicadas o menos utilizadas. Algunos de los mejores se han reunido bajo la organización de Requests, que incluyen:

Si desea utilizar alguna de estas formas de autenticación, vaya directamente a su página de GitHub y siga las instrucciones.

Publicación traducida automáticamente

Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *