Skip to main content

A crtauth authentication plugin for Python Requests.

Project description

requests-crtauth

A plugin to support [crtauth authentication](https://github.com/spotify/crtauth) in [Python Requests](http://www.python-requests.org/).

Usage

requests-crtauth works as an authentication plugin for Python Requests. See the [authentication documentation](http://www.python-requests.org/en/latest/user/authentication/) for more details. The following arguments may be provided to a new instance of HttpCrtAuth: ` username: User to authenticate as. Defaults to $USER. private_key: A PEM encoded private key string. Overrides signer. signer: A crtauth SigningPlug instance. Defaults to using the SSH agent (AgentSigner). version: Integer version of the crtauth protocol. Defaults to version 1. `

Here’s an example. `python In [1]: import requests, requests_crtauth, json, logging In [2]: logging.basicConfig(level=logging.DEBUG) In [3]: session = requests.Session() # HttpCrtAuth() will default to authenticating with your $USER env variable and a key from your SSH agent. # To specify an explicit key: requests_crtauth.HttpCrtAuth(username='negz', private_key='key data as a string') In [4]: session.auth = requests_crtauth.HttpCrtAuth() In [5]: data = json.dumps({'comment': 'I\'m a comment!'}) In [6]: headers = {'content-type': 'application/json; charset=utf-8'} In [7]: response = session.put('https://db.spotify.net/v1/things/yomaris', data=data, headers=headers) INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): db.spotify.net DEBUG:requests.packages.urllib3.connectionpool:"PUT /v1/things/yomaris HTTP/1.1" 401 12 DEBUG:root:Sending challenge request DEBUG:requests.packages.urllib3.connectionpool:"HEAD /_auth HTTP/1.1" 200 0 DEBUG:root:Sending response to challenge REDACTED DEBUG:requests.packages.urllib3.connectionpool:"HEAD /_auth HTTP/1.1" 200 0 DEBUG:root:Stored CHAP token REDACTED DEBUG:root:Using newly stored CHAP token. DEBUG:requests.packages.urllib3.connectionpool:"PUT /v1/things/yomaris HTTP/1.1" 200 None In [8]: response.ok Out[8]: True `

Project details


Release history Release notifications | RSS feed

This version

0.4

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requests-crtauth-0.4.tar.gz (8.7 kB view details)

Uploaded Source

File details

Details for the file requests-crtauth-0.4.tar.gz.

File metadata

File hashes

Hashes for requests-crtauth-0.4.tar.gz
Algorithm Hash digest
SHA256 8fb6c0f853b6c41832b62a5df7b5865aa6509c811b712c62e852e429b06d784e
MD5 3aa3528b694476ad1ee0452899dd1c55
BLAKE2b-256 b5e9c5134b8ddc447cd15e995d1953bf3424a826b2fb69667892061cf91422dc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page