From b2e891e477f4f483a5cd63dd0692d658f29c645e Mon Sep 17 00:00:00 2001
From: Francisco Barros <francisco.borges.aurindo.barros@cern.ch>
Date: Mon, 12 Apr 2021 19:07:13 +0200
Subject: [PATCH 1/3] add oidc installation script

---
 scripts/oidc-install.sh | 61 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100755 scripts/oidc-install.sh

diff --git a/scripts/oidc-install.sh b/scripts/oidc-install.sh
new file mode 100755
index 0000000..b5cd304
--- /dev/null
+++ b/scripts/oidc-install.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# Retrieve the variables to properly populate OIDC
+usage() { echo "Usage: $0 [--id <ClientID>] [--secret <ClientSecret>] [--issuer <ISSUER>]" 1>&2; exit 1; }
+
+# Options
+
+ARGS=$(getopt -o 'i:s:u:' --long 'id:,secret:,issuer:' -- "$@") || exit 1
+
+eval "set -- $ARGS"
+
+while true; do
+  case "$1" in
+    (-i|--id)
+      ClientID="$2"; shift 2;;
+    (-s|--secret)
+      ClientSecret="$2"; shift 2;;
+    (-u|--issuer)
+      ISSUER="$2"; shift 2;;
+    (--) shift; break;;
+    (*) usage;;
+  esac
+done
+
+
+if [[ -z $ClientID ]]; then
+        echo "missing openid connect cliend_id"
+        usage
+fi
+if [[ -z $ClientSecret ]]; then
+        echo "missing openid connect cliend_secret"
+        usage
+fi
+if [[ -z $ISSUER ]]; then
+        echo "missing issuer URL"
+        usage
+fi
+
+# Setting Endpoints
+authorizationEndpoint=$ISSUER"/protocol/openid-connect/auth"
+tokenEndpoint=$ISSUER"/protocol/openid-connect/token"
+userInfoEndpoint=$ISSUER"/protocol/openid-connect/userinfo"
+
+
+# Enable OIDC on Drupal site
+echo "Enabling OpenID Connect module"
+drush pm-enable openid_connect -y;
+
+echo "Setting OpenID Connect Generic Settings"
+drush config:set openid_connect.settings.generic enabled true -y;
+drush config:set openid_connect.settings.generic settings.client_id $ClientID -y;
+drush config:set openid_connect.settings.generic settings.client_secret  $ClientSecret -y ;
+drush config:set openid_connect.settings.generic settings.authorization_endpoint $authorizationEndpoint -y;
+drush config:set openid_connect.settings.generic settings.token_endpoint  $tokenEndpoint -y;
+drush config:set openid_connect.settings.generic settings.userinfo_endpoint  $userInfoEndpoint -y;
+
+echo "Setting OpenID Connect Geral Settings"
+drush config:set openid_connect.settings always_save_userinfo true -y;
+drush config:set openid_connect.settings connect_existing_users false -y;
+drush config:set openid_connect.settings override_registration_settings true -y;
+drush config:set openid_connect.settings user_login_display below -y;
-- 
GitLab


From 04a7ad22f2493e27f0b071da8fb631585f4b1848 Mon Sep 17 00:00:00 2001
From: Konstantinos Samaras-Tsakiris <konstantinos.samaras-tsakiris@cern.ch>
Date: Tue, 13 Apr 2021 15:14:48 +0000
Subject: [PATCH 2/3] Apply 2 suggestion(s) to 1 file(s)

---
 scripts/oidc-install.sh | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/scripts/oidc-install.sh b/scripts/oidc-install.sh
index b5cd304..985b007 100755
--- a/scripts/oidc-install.sh
+++ b/scripts/oidc-install.sh
@@ -37,9 +37,9 @@ if [[ -z $ISSUER ]]; then
 fi
 
 # Setting Endpoints
-authorizationEndpoint=$ISSUER"/protocol/openid-connect/auth"
-tokenEndpoint=$ISSUER"/protocol/openid-connect/token"
-userInfoEndpoint=$ISSUER"/protocol/openid-connect/userinfo"
+authorizationEndpoint="$ISSUER/protocol/openid-connect/auth"
+tokenEndpoint="$ISSUER/protocol/openid-connect/token"
+userInfoEndpoint="$ISSUER/protocol/openid-connect/userinfo"
 
 
 # Enable OIDC on Drupal site
@@ -54,7 +54,6 @@ drush config:set openid_connect.settings.generic settings.authorization_endpoint
 drush config:set openid_connect.settings.generic settings.token_endpoint  $tokenEndpoint -y;
 drush config:set openid_connect.settings.generic settings.userinfo_endpoint  $userInfoEndpoint -y;
 
-echo "Setting OpenID Connect Geral Settings"
 drush config:set openid_connect.settings always_save_userinfo true -y;
 drush config:set openid_connect.settings connect_existing_users false -y;
 drush config:set openid_connect.settings override_registration_settings true -y;
-- 
GitLab


From 99f76fe89dedefc5492d324413b82e94ffe9c7c7 Mon Sep 17 00:00:00 2001
From: Francisco Barros <francisco.borges.aurindo.barros@cern.ch>
Date: Tue, 13 Apr 2021 17:55:55 +0200
Subject: [PATCH 3/3] Applied suggestions

---
 scripts/oidc-install.sh | 60 --------------------------------------
 scripts/site-install.sh | 64 +++++++++++++++++++++++++++++++++++++++--
 2 files changed, 62 insertions(+), 62 deletions(-)
 delete mode 100755 scripts/oidc-install.sh
 mode change 100644 => 100755 scripts/site-install.sh

diff --git a/scripts/oidc-install.sh b/scripts/oidc-install.sh
deleted file mode 100755
index 985b007..0000000
--- a/scripts/oidc-install.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-
-# Retrieve the variables to properly populate OIDC
-usage() { echo "Usage: $0 [--id <ClientID>] [--secret <ClientSecret>] [--issuer <ISSUER>]" 1>&2; exit 1; }
-
-# Options
-
-ARGS=$(getopt -o 'i:s:u:' --long 'id:,secret:,issuer:' -- "$@") || exit 1
-
-eval "set -- $ARGS"
-
-while true; do
-  case "$1" in
-    (-i|--id)
-      ClientID="$2"; shift 2;;
-    (-s|--secret)
-      ClientSecret="$2"; shift 2;;
-    (-u|--issuer)
-      ISSUER="$2"; shift 2;;
-    (--) shift; break;;
-    (*) usage;;
-  esac
-done
-
-
-if [[ -z $ClientID ]]; then
-        echo "missing openid connect cliend_id"
-        usage
-fi
-if [[ -z $ClientSecret ]]; then
-        echo "missing openid connect cliend_secret"
-        usage
-fi
-if [[ -z $ISSUER ]]; then
-        echo "missing issuer URL"
-        usage
-fi
-
-# Setting Endpoints
-authorizationEndpoint="$ISSUER/protocol/openid-connect/auth"
-tokenEndpoint="$ISSUER/protocol/openid-connect/token"
-userInfoEndpoint="$ISSUER/protocol/openid-connect/userinfo"
-
-
-# Enable OIDC on Drupal site
-echo "Enabling OpenID Connect module"
-drush pm-enable openid_connect -y;
-
-echo "Setting OpenID Connect Generic Settings"
-drush config:set openid_connect.settings.generic enabled true -y;
-drush config:set openid_connect.settings.generic settings.client_id $ClientID -y;
-drush config:set openid_connect.settings.generic settings.client_secret  $ClientSecret -y ;
-drush config:set openid_connect.settings.generic settings.authorization_endpoint $authorizationEndpoint -y;
-drush config:set openid_connect.settings.generic settings.token_endpoint  $tokenEndpoint -y;
-drush config:set openid_connect.settings.generic settings.userinfo_endpoint  $userInfoEndpoint -y;
-
-drush config:set openid_connect.settings always_save_userinfo true -y;
-drush config:set openid_connect.settings connect_existing_users false -y;
-drush config:set openid_connect.settings override_registration_settings true -y;
-drush config:set openid_connect.settings user_login_display below -y;
diff --git a/scripts/site-install.sh b/scripts/site-install.sh
old mode 100644
new mode 100755
index 3b707db..3b3ac26
--- a/scripts/site-install.sh
+++ b/scripts/site-install.sh
@@ -1,5 +1,41 @@
-#!/bin/bash
-set -exu
+#!/bin/sh
+#set -exu
+
+# Retrieve the variables to properly populate OIDC
+usage() { echo "Usage: $0 [--id <ClientID>] [--secret <ClientSecret>] [--issuer <ISSUER>]" 1>&2; exit 1; }
+
+
+# Options
+
+ARGS=$(getopt -o 'i:s:u:' --long 'id:,secret:,issuer:' -- "$@") || exit 1
+
+eval "set -- $ARGS"
+
+while true; do
+  case "$1" in
+    (-i|--id)
+      ClientID="$2"; shift 2;;
+    (-s|--secret)
+      ClientSecret="$2"; shift 2;;
+    (-u|--issuer)
+      ISSUER="$2"; shift 2;;
+    (--) shift; break;;
+    (*) usage;;
+  esac
+done
+
+if [[ -z $ClientID ]]; then
+        echo "missing openid connect cliend_id"
+        usage
+fi
+if [[ -z $ClientSecret ]]; then
+        echo "missing openid connect cliend_secret"
+        usage
+fi
+if [[ -z $ISSUER ]]; then
+        echo "missing issuer URL"
+        usage
+fi
 
 # Change working directory to the drupal code
 cd /app
@@ -7,3 +43,27 @@ cd /app
 # Install Drupal site
 echo "Installing Drupal site"
 drush site-install -y --config-dir=../config/sync --account-name=admin --account-pass=pass --account-mail=admin@example.com
+
+
+# Setting Endpoints
+authorizationEndpoint=$ISSUER"/protocol/openid-connect/auth"
+tokenEndpoint=$ISSUER"/protocol/openid-connect/token"
+userInfoEndpoint=$ISSUER"/protocol/openid-connect/userinfo"
+
+# Enable OIDC on Drupal site
+echo "Enabling OpenID Connect module"
+drush pm-enable openid_connect -y;
+
+echo "Setting OpenID Connect Generic Settings"
+drush config:set openid_connect.settings.generic enabled true -y;
+drush config:set openid_connect.settings.generic settings.client_id $ClientID -y;
+drush config:set openid_connect.settings.generic settings.client_secret  $ClientSecret -y ;
+drush config:set openid_connect.settings.generic settings.authorization_endpoint $authorizationEndpoint -y;
+drush config:set openid_connect.settings.generic settings.token_endpoint  $tokenEndpoint -y;
+drush config:set openid_connect.settings.generic settings.userinfo_endpoint  $userInfoEndpoint -y;
+
+drush config:set openid_connect.settings always_save_userinfo true -y;
+drush config:set openid_connect.settings connect_existing_users false -y;
+drush config:set openid_connect.settings override_registration_settings true -y;
+drush config:set openid_connect.settings user_login_display below -y;
+
-- 
GitLab