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
Release history Release notifications | RSS feed
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
Close
Hashes for httpie_ems_auth_p3-0.2.2-py2.7.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5abb8f563216ff098a7f7029a339bad0e463e47fedd3b2bc678a2e82459733fc |
|
MD5 | 58565826fd5be2062937eba6e0905176 |
|
BLAKE2b-256 | 64ead94e93becd6a3675d415748c121ab43c9a7776cf43daab91f0d5c6517c79 |