Merge pull request 'add key for open service' (#9) from open_service into release
Reviewed-on: #9
This commit is contained in:
commit
4c28d5d7bc
|
@ -45,10 +45,11 @@ deployment_strategy() {
|
||||||
echo "INFO detected NEW deployment"
|
echo "INFO detected NEW deployment"
|
||||||
./manage.py migrate
|
./manage.py migrate
|
||||||
|
|
||||||
|
if [ "${DEMO:-}" = 'true' ]; then
|
||||||
printf "This is DEVELOPMENT/PILOTS_EARLY DEPLOYMENT: including demo hardcoded data\n" >&2
|
printf "This is DEVELOPMENT/PILOTS_EARLY DEPLOYMENT: including demo hardcoded data\n" >&2
|
||||||
|
|
||||||
PREDEFINED_TOKEN="${PREDEFINED_TOKEN:-}"
|
PREDEFINED_TOKEN="${PREDEFINED_TOKEN:-}"
|
||||||
./manage.py demo_data "${PREDEFINED_TOKEN}"
|
./manage.py demo_data "${PREDEFINED_TOKEN}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "${OIDC_ORGS:-}" ]; then
|
if [ "${OIDC_ORGS:-}" ]; then
|
||||||
config_oidc4vp
|
config_oidc4vp
|
||||||
|
|
48
idhub/management/commands/open_service.py
Normal file
48
idhub/management/commands/open_service.py
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from nacl.exceptions import CryptoError
|
||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
from django.core.management import call_command
|
||||||
|
from django.core.cache import cache
|
||||||
|
|
||||||
|
from idhub.models import DID
|
||||||
|
from idhub_auth.models import User
|
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
help = "Command for open de service"
|
||||||
|
|
||||||
|
def add_arguments(self, parser):
|
||||||
|
parser.add_argument('key', nargs='?', default='', type=str, help='key')
|
||||||
|
parser.add_argument('ip_port', nargs='?', default='', type=str, help='ip_port')
|
||||||
|
|
||||||
|
def handle(self, *args, **kwargs):
|
||||||
|
self._key = kwargs["key"]
|
||||||
|
self.ip_port = kwargs["ip_port"]
|
||||||
|
cache.set("KEY_DIDS", self._key, None)
|
||||||
|
|
||||||
|
admin = User.objects.filter(is_admin=True).first()
|
||||||
|
admin.accept_gdpr = True
|
||||||
|
admin.save()
|
||||||
|
|
||||||
|
if not DID.objects.exists():
|
||||||
|
cache.set("KEY_DIDS", self._key, None)
|
||||||
|
call_command('runserver', self.ip_port)
|
||||||
|
return
|
||||||
|
|
||||||
|
did = DID.objects.first()
|
||||||
|
cache.set("KEY_DIDS", self._key, None)
|
||||||
|
|
||||||
|
try:
|
||||||
|
did.get_key_material()
|
||||||
|
except CryptoError:
|
||||||
|
cache.set("KEY_DIDS", None)
|
||||||
|
txt = "Key no valid!"
|
||||||
|
logger.error(txt)
|
||||||
|
return
|
||||||
|
|
||||||
|
cache.set("KEY_DIDS", self._key, None)
|
||||||
|
call_command('runserver', self.ip_port)
|
Loading…
Reference in a new issue