Allow setting Shaman JWT token in SHAMAN_JWT_TOKEN environment variable

I also removed the unused `shaman/auth.py` file.
This commit is contained in:
Sybren A. Stüvel 2019-07-23 14:01:22 +02:00
parent 910945e44d
commit af63f9c3c8
3 changed files with 8 additions and 29 deletions

View File

@ -8,6 +8,7 @@ changed functionality, fixed bugs).
- Migrated from Pipenv to Poetry for managing Python package dependencies. - Migrated from Pipenv to Poetry for managing Python package dependencies.
- Windows compatibility fix when using mapped network storage. - Windows compatibility fix when using mapped network storage.
- Windows compatibility fix when using different assets with the same path but on different drives. - Windows compatibility fix when using different assets with the same path but on different drives.
- Allow setting the Shaman JWT authentication token in the `SHAMAN_JWT_TOKEN` environment variable.
## Version 1.1.1 (2019-04-18) ## Version 1.1.1 (2019-04-18)

View File

@ -19,6 +19,7 @@
# (c) 2019, Blender Foundation - Sybren A. Stüvel # (c) 2019, Blender Foundation - Sybren A. Stüvel
"""Shaman Client interface.""" """Shaman Client interface."""
import logging import logging
import os
import pathlib import pathlib
import typing import typing
import urllib.parse import urllib.parse
@ -56,7 +57,12 @@ class ShamanPacker(bat_pack.Packer):
def _get_auth_token(self) -> str: def _get_auth_token(self) -> str:
# TODO: get a token from the Flamenco Server. # TODO: get a token from the Flamenco Server.
log.warning('Using temporary hack to get auth token from Shaman') token_from_env = os.environ.get('SHAMAN_JWT_TOKEN')
if token_from_env:
return token_from_env
log.warning('Using temporary hack to get auth token from Shaman, '
'set SHAMAN_JTW_TOKEN to prevent')
unauth_shaman = ShamanClient('', self.shaman_endpoint) unauth_shaman = ShamanClient('', self.shaman_endpoint)
resp = unauth_shaman.get('get-token', timeout=10) resp = unauth_shaman.get('get-token', timeout=10)
resp.raise_for_status() resp.raise_for_status()

View File

@ -1,28 +0,0 @@
# ***** BEGIN GPL LICENSE BLOCK *****
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ***** END GPL LICENCE BLOCK *****
#
# (c) 2019, Blender Foundation - Sybren A. Stüvel
import requests
token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIxMjM0NSIsImV4cCI6MTU1MDI0NDUxMiwiaWF0IjoxNTUwMTU4MTEyLCJzdWIiOiJ1c2VyLUlEIn0.oahZHIVBmULFz0JhOjv4-AEN8vdURjGBiIDdZbvW9A2FQWdi0RyrW2KpcHHpKS8KiG81p9pn2bVytMrRJ8Cjmw'
def session():
sess = requests.session()
sess.headers['Authorization'] = 'Bearer ' + token
return sess