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.
Si tiene un nombre de usuario o contraseña no válidos, devolverá un error como:
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:
- Flujo de aplicación web
- Flujo de aplicaciones móviles
- Flujo de aplicaciones heredadas
- Flujo de aplicación de back-end
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