Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import json
- from oauthlib import oauth1
- project = 'cd412a0a360248898f05ed8c16de9458'
- token_url = 'http://192.168.56.101/identity/v3/auth/tokens'
- headers = {'content-type': 'application/json', 'Accept': 'application/json'}
- token_payload = { "auth": {
- "identity": {
- "methods": ["password"],
- "password": {
- "user": {
- "name": "admin",
- "domain": { "id": "default" },
- "password": "nova"
- }
- }
- },
- "scope": {
- "project": {
- "name": "demo",
- "domain": { "id": "default" }
- }
- }
- }
- }
- resp = requests.post(token_url, data=json.dumps(token_payload), headers=headers)
- token = resp.headers['X-Subject-Token']
- consumer_url = 'http://192.168.56.101/identity_admin/v3/OS-OAUTH1/consumers'
- consumer_payload = {"consumer": {"description": "Consumer 1"}}
- headers['X-Auth-Token'] = token
- resp = requests.post(consumer_url, data=json.dumps(consumer_payload), headers=headers)
- consumer1 = json.loads(resp.text)
- oauth_request_token_url = 'http://192.168.56.101/identity_admin/v3/OS-OAUTH1/request_token'
- oauth_client = oauth1.Client(consumer1['consumer']['id'],
- client_secret=consumer1['consumer']['secret'],
- signature_method=oauth1.SIGNATURE_HMAC,
- callback_uri='oob')
- headers1 = {'Requested-Project-Id': project}
- url, headers, body = oauth_client.sign(oauth_request_token_url,
- http_method='POST',
- headers=headers1)
- headers['X-Auth-Token'] = token
- oauth_request_token_url = 'http://192.168.56.101/identity_admin/v3/OS-OAUTH1/request_token'
- resp = requests.post(oauth_request_token_url, data=None, headers=headers)
- print resp.status_code
- # Status code - 401
- # Change oauth_request_token_url to 'http://192.168.56.101/identity/v3/OS-OAUTH1/request_token'
- # on line 38 and rerun the script, status code is 201
- # oauth_token = dict(item.split("=") for item in resp.text.split("&"))
Add Comment
Please, Sign In to add comment