EmsAuth plugin for HTTPie.
Project description
This HTTPie auth plugin implements Escher authentication for Emarsys API requests.
Installation
Be sure that HTTPie is installed, and install this plugin:
$ pip install httpie-ems-auth
After installing, you will see the option ems-auth under --auth-type if you run $ http --help.
Example
Suiteable if you call the API of Suite
$ http --auth-type=ems-auth --auth=escher_key:escher_secret https://api.emarsys.net/api/v2/internal/12345678/settings
The default Escher credential scope is “eu/suite/ems_request” which identifies Suite. If u are calling another service, you have to alter the credential scope like this:
$ http --auth-type=ems-auth --auth=eu/suite/ems_request/escher_key:escher_secret https://api.emarsys.net/api/v2/internal/12345678/settings
Check out HTTPie sessions if you would like to save authentication information between your requests.
- If you want to use in python code this example can help:
import escherauth import datetime from urlparse import urlparse import requests escher_key = 'test' escher_secret = 'test' options = { 'algo_prefix': 'EMS', 'vendor_key': 'EMS', 'hash_algo': 'SHA256', 'auth_header_name': 'X-Ems-Auth', 'date_header_name': 'X-Ems-Date' } credential_scope = "test" if "/" in escher_key: scope = escher_key.split("/") escher_key = scope.pop() credential_scope = "/".join(scope) client = {'api_key': escher_key, 'api_secret': escher_secret} escher = escherauth.Escher(credential_scope, options) url = 'http://test-escher-url.com/api/call/smth' r = requests.PreparedRequest() r.prepare('GET',url) now = datetime.datetime.utcnow() r.headers['X-Ems-Date'] = now.strftime('%Y%m%dT%H%M%SZ') parsed_uri = urlparse(r.url) r.headers['Host'] = parsed_uri.netloc f = escher.sign(r, client) s = requests.Session() s.send(f)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file httpie-ems-auth-0.2.2.tar.gz
.
File metadata
- Download URL: httpie-ems-auth-0.2.2.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f756a92ddb358241d708b85e6ba57e694a1d31c2c37ed3002dabaff906c1f74f |
|
MD5 | 2dd9067c21f1f28d6d231c326983b490 |
|
BLAKE2b-256 | b85253fe718352385867f3779880c6f332a3b5e7d00ee60cb4eecd6641e09d11 |
File details
Details for the file httpie_ems_auth-0.2.2-py2.7.egg
.
File metadata
- Download URL: httpie_ems_auth-0.2.2-py2.7.egg
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4347afac240914296af9f83f9e54400a2953e403e17661708e872dc208e99ab3 |
|
MD5 | df40044a3b7d58e6f048ee03a27cff4c |
|
BLAKE2b-256 | 8173768f14774b9b22f4871fbe9867ef0925b104ff85e586ac2a1b863edd5b61 |