Skip to content

Instantly share code, notes, and snippets.

@madchap
Last active October 23, 2018 21:58
Show Gist options
  • Save madchap/f7efd023c9c6f6058c4b8192aa97323c to your computer and use it in GitHub Desktop.
Save madchap/f7efd023c9c6f6058c4b8192aa97323c to your computer and use it in GitHub Desktop.
missing client token on unwrap, hvac 0.6.4, vault 0.11.3.
def get_vault_token(vault_rolename):
# get role id from vault-tower
role_id_json = requests_wrap.get_data("{}{}/{}".format(vault_token_tower, "/roleid", vault_rolename))
role_id = role_id_json['role_id']
print("roleid: {}".format(role_id))
# get secret wrap from vault-tower
wrapped_token_json = requests_wrap.post_data("{}{}/{}".format(vault_token_tower, "/wraptoken", vault_rolename))
wrapped_token = wrapped_token_json['wrap_token']
print("wrapped token: {}".format(wrapped_token))
# unwrap token to get secretid
# FAILS HERE, line 14
unwrapped_secret_id = vc.unwrap(wrapped_token)
print(unwrapped_secret_id['data']['secret_id'])
print("Secret id: {}".format(unwrapped_secret_id))
Output
======
Connected to pydev debugger (build 181.5540.17)
roleid: cd9f0825-1315-0a56-8012-e03bb412b417
wrapped token: 6cJDiW0FbWjXKp3mmmPIxPed
Traceback (most recent call last):
File "/home/username/apps/pycharm-2018.1.2/helpers/pydev/pydevd.py", line 1664, in <module>
main()
File "/home/username/apps/pycharm-2018.1.2/helpers/pydev/pydevd.py", line 1658, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "/home/username/apps/pycharm-2018.1.2/helpers/pydev/pydevd.py", line 1068, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "/home/username/apps/pycharm-2018.1.2/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/home/username/gitrepos/torrent9scraper/downloader.py", line 167, in <module>
token = get_vault_token(config.get('vault', 'role_name'))
File "/home/username/gitrepos/torrent9scraper/downloader.py", line 125, in get_vault_token
unwrapped_secret_id = vc.unwrap(wrapped_token)
File "/home/username/gitrepos/torrent9scraper/venv/lib64/python3.6/site-packages/hvac/v1/__init__.py", line 216, in unwrap
return self._adapter.post('/v1/sys/wrapping/unwrap', json=payload).json()
File "/home/username/gitrepos/torrent9scraper/venv/lib64/python3.6/site-packages/hvac/adapters.py", line 103, in post
return self.request('post', url, **kwargs)
File "/home/username/gitrepos/torrent9scraper/venv/lib64/python3.6/site-packages/hvac/adapters.py", line 233, in request
utils.raise_for_error(response.status_code, text, errors=errors)
File "/home/username/gitrepos/torrent9scraper/venv/lib64/python3.6/site-packages/hvac/utils.py", line 29, in raise_for_error
raise exceptions.InvalidRequest(message, errors=errors)
hvac.exceptions.InvalidRequest: missing client token
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment