Skip to content

Commit f0a8f61

Browse files
committed
Minor changes into keycloak addition
1 parent fec2f3c commit f0a8f61

4 files changed

Lines changed: 36 additions & 21 deletions

File tree

1.3/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ENV LOGLEVEL=info
1010

1111
RUN apt-get update && \
1212
apt-get install -y libmemcached-dev gosu && \
13-
pip install --no-cache-dir social-auth-app-django "gunicorn==19.3.0" "psycopg2==2.6" pylibmc pysolr "elasticsearch==2.4.1" wirecloud-keycloak && \
13+
pip install --no-cache-dir social-auth-app-django "gunicorn==19.3.0" "psycopg2==2.6" pylibmc pysolr "elasticsearch==2.4.1" && \
1414
rm -rf /var/lib/apt/lists/* && \
1515
gosu nobody true
1616

@@ -21,7 +21,7 @@ COPY ./docker-entrypoint.sh /
2121
COPY ./manage.py /usr/local/bin/
2222

2323
RUN adduser --system --group --shell /bin/bash wirecloud && \
24-
pip install --no-cache-dir channels asgi_ipc asgi_redis asgi_rabbitmq && \
24+
pip install --no-cache-dir channels asgi_ipc asgi_redis asgi_rabbitmq wirecloud_keycloak && \
2525
mkdir -p /opt/wirecloud_instance /var/www/static && \
2626
cd /opt && \
2727
wirecloud-admin startproject wirecloud_instance wirecloud_instance && \

1.3/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ services:
5353
- FORWARDED_ALLOW_IPS=*
5454
- ELASTICSEARCH2_URL=http://elasticsearch:9200/
5555
- MEMCACHED_LOCATION=memcached:11211
56-
# Uncomment the following environment variables to enable IDM integration
56+
# Uncomment the following environment variables to enable FIWARE IDM integration
5757
#- FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER}
5858
#- SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY}
5959
#- SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET}

1.3/settings.py

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -126,23 +126,39 @@
126126
# Python dotted path to the WSGI application used by Django's runserver.
127127
WSGI_APPLICATION = 'wirecloud_instance.wsgi.application'
128128

129-
# FIWARE IdM configuration
130-
IDM_AUTH = None
131-
if os.environ.get('FIWARE_IDM_SERVER', '').strip() != '':
132-
FIWARE_IDM_SERVER = os.environ.get('FIWARE_IDM_SERVER', '').strip()
133-
FIWARE_IDM_PUBLIC_URL = os.environ.get('FIWARE_IDM_PUBLIC_URL', FIWARE_IDM_SERVER).strip()
134-
SOCIAL_AUTH_FIWARE_KEY = os.environ.get('SOCIAL_AUTH_FIWARE_KEY', '').strip()
135-
SOCIAL_AUTH_FIWARE_SECRET = os.environ.get('SOCIAL_AUTH_FIWARE_SECRET', '').strip()
136-
IDM_AUTH = 'fiware' if FIWARE_IDM_SERVER and SOCIAL_AUTH_FIWARE_KEY and SOCIAL_AUTH_FIWARE_SECRET else None
137-
138-
elif os.environ.get('KEYCLOAK_IDM_SERVER', '').strip() != '':
139-
KEYCLOAK_IDM_SERVER = os.environ.get('KEYCLOAK_IDM_SERVER', '').strip()
140-
KEYCLOAK_REALM = os.environ.get('KEYCLOAK_REALM', '').strip()
141-
KEYCLOAK_KEY = os.environ.get('KEYCLOAK_KEY', '').strip()
142-
KEYCLOAK_GLOBAL_ROLE = os.environ.get('KEYCLOAK_GLOBAL_ROLE', '').strip() == 'True'
143-
SOCIAL_AUTH_KEYCLOAK_KEY = os.environ.get('SOCIAL_AUTH_KEYCLOAK_KEY', '').strip()
144-
SOCIAL_AUTH_KEYCLOAK_SECRET = os.environ.get('SOCIAL_AUTH_KEYCLOAK_SECRET', '').strip()
145-
IDM_AUTH = 'keycloak' if KEYCLOAK_IDM_SERVER and KEYCLOAK_REALM and KEYCLOAK_KEY and SOCIAL_AUTH_KEYCLOAK_KEY and SOCIAL_AUTH_KEYCLOAK_SECRET else None
129+
130+
# Handle some basic settings
131+
132+
## String settings
133+
STRING_SETTINGS = (
134+
"FIWARE_IDM_SERVER",
135+
"FIWARE_IDM_PUBLIC_URL",
136+
"SOCIAL_AUTH_FIWARE_KEY",
137+
"SOCIAL_AUTH_FIWARE_SECRET",
138+
"KEYCLOAK_SERVER",
139+
"KEYCLOAK_REALM",
140+
"KEYCLOAK_KEY",
141+
"SOCIAL_AUTH_KEYCLOAK_KEY",
142+
"SOCIAL_AUTH_KEYCLOAK_SECRET",
143+
)
144+
for setting in STRING_SETTINGS:
145+
value = os.environ.get(setting, "").strip()
146+
if value != "":
147+
locals()[setting] = value
148+
149+
## Boolean settings
150+
BOOLEAN_SETTINGS = (
151+
"KEYCLOAK_GLOBAL_ROLE",
152+
)
153+
for setting in BOOLEAN_SETTINGS:
154+
value = os.environ.get(setting, "").strip()
155+
if value != "":
156+
locals()[setting] = value.lower() == "true"
157+
158+
159+
# FIWARE & Keycloak configuration
160+
IDM_AUTH = 'fiware' if "FIWARE_IDM_SERVER" in locals() and "SOCIAL_AUTH_FIWARE_KEY" in locals() and "SOCIAL_AUTH_FIWARE_SECRET" in locals() else None
161+
IDM_AUTH = 'keycloak' if "KEYCLOAK_IDM_SERVER" in locals() and "KEYCLOAK_REALM" in locals() and "KEYCLOAK_KEY" in locals() and "SOCIAL_AUTH_KEYCLOAK_KEY" in locals() and "SOCIAL_AUTH_KEYCLOAK_SECRET" in locals() else IDM_AUTH
146162

147163
if IDM_AUTH == 'fiware':
148164
INSTALLED_APPS += (

1.3/urls.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from wirecloud.commons import authentication as wc_auth
1010
from wirecloud.fiware import views as wc_fiware
1111
from wirecloud.keycloak import views as wc_keycloak
12-
1312
import wirecloud.platform.urls
1413

1514
admin.autodiscover()

0 commit comments

Comments
 (0)