This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new de1d26d8bf NIFI-10799 Add OIDC to Docker images for NiFi and NiFi 
Registry
de1d26d8bf is described below

commit de1d26d8bfc17a762124c89751db8842004f4299
Author: Justin Rittenhouse <[email protected]>
AuthorDate: Thu Nov 10 22:06:46 2022 -0500

    NIFI-10799 Add OIDC to Docker images for NiFi and NiFi Registry
    
    This closes #6651
    
    Signed-off-by: David Handermann <[email protected]>
---
 nifi-docker/dockerhub/sh/start.sh                  |  6 +++++
 nifi-docker/dockerhub/sh/update_oidc_properties.sh | 27 ++++++++++++++++++++++
 .../nifi-registry-docker/dockerhub/sh/start.sh     |  8 ++++++-
 .../dockerhub/sh/update_oidc_properties.sh         | 27 ++++++++++++++++++++++
 .../dockermaven/sh/start.sh                        |  9 +++++++-
 .../dockermaven/sh/update_oidc_properties.sh       | 27 ++++++++++++++++++++++
 6 files changed, 102 insertions(+), 2 deletions(-)

diff --git a/nifi-docker/dockerhub/sh/start.sh 
b/nifi-docker/dockerhub/sh/start.sh
index 4b377468ff..40b33a33ae 100755
--- a/nifi-docker/dockerhub/sh/start.sh
+++ b/nifi-docker/dockerhub/sh/start.sh
@@ -121,6 +121,12 @@ case ${AUTH} in
         . "${scripts_dir}/secure.sh"
         . "${scripts_dir}/update_login_providers.sh"
         ;;
+    oidc)
+        echo 'Enabling OIDC user authentication'
+
+        . "${scripts_dir}/secure.sh"
+        . "${scripts_dir}/update_oidc_properties.sh"
+        ;;
 esac
 
 # Continuously provide logs so that 'docker logs' can produce them
diff --git a/nifi-docker/dockerhub/sh/update_oidc_properties.sh 
b/nifi-docker/dockerhub/sh/update_oidc_properties.sh
new file mode 100644
index 0000000000..827a40edba
--- /dev/null
+++ b/nifi-docker/dockerhub/sh/update_oidc_properties.sh
@@ -0,0 +1,27 @@
+#!/bin/sh -e
+
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+prop_replace 'nifi.security.user.oidc.discovery.url'                    
"${NIFI_SECURITY_USER_OIDC_DISCOVERY_URL}"
+prop_replace 'nifi.security.user.oidc.connect.timeout'                  
"${NIFI_SECURITY_USER_OIDC_CONNECT_TIMEOUT}"
+prop_replace 'nifi.security.user.oidc.read.timeout'                     
"${NIFI_SECURITY_USER_OIDC_READ_TIMEOUT}"
+prop_replace 'nifi.security.user.oidc.client.id'                        
"${NIFI_SECURITY_USER_OIDC_CLIENT_ID}"
+prop_replace 'nifi.security.user.oidc.client.secret'                    
"${NIFI_SECURITY_USER_OIDC_CLIENT_SECRET}"
+prop_replace 'nifi.security.user.oidc.preferred.jwsalgorithm'           
"${NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM}"
+prop_replace 'nifi.security.user.oidc.additional.scopes'                
"${NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES}"
+prop_replace 'nifi.security.user.oidc.claim.identifying.user'           
"${NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER}"
+prop_replace 'nifi.security.user.oidc.fallback.claims.identifying.user' 
"${NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER}"
+prop_replace 'nifi.security.user.oidc.truststore.strategy'              
"${NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY}"
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/sh/start.sh 
b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/sh/start.sh
index c65f3ea926..eba4ef217e 100755
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/sh/start.sh
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/sh/start.sh
@@ -40,6 +40,12 @@ case ${AUTH} in
         . "${scripts_dir}/secure.sh"
         . "${scripts_dir}/update_login_providers.sh"
         ;;
+    oidc)
+        echo 'Enabling OIDC user authentication'
+
+        . "${scripts_dir}/secure.sh"
+        . "${scripts_dir}/update_oidc_properties.sh"
+        ;;
 esac
 
 . "${scripts_dir}/update_flow_provider.sh"
@@ -53,4 +59,4 @@ nifi_registry_pid="$!"
 trap "echo Received trapped signal, beginning shutdown...;" KILL TERM HUP INT 
EXIT;
 
 echo NiFi-Registry running with PID ${nifi_registry_pid}.
-wait ${nifi_registry_pid}
\ No newline at end of file
+wait ${nifi_registry_pid}
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/sh/update_oidc_properties.sh
 
b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/sh/update_oidc_properties.sh
new file mode 100644
index 0000000000..827a40edba
--- /dev/null
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-docker/dockerhub/sh/update_oidc_properties.sh
@@ -0,0 +1,27 @@
+#!/bin/sh -e
+
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+prop_replace 'nifi.security.user.oidc.discovery.url'                    
"${NIFI_SECURITY_USER_OIDC_DISCOVERY_URL}"
+prop_replace 'nifi.security.user.oidc.connect.timeout'                  
"${NIFI_SECURITY_USER_OIDC_CONNECT_TIMEOUT}"
+prop_replace 'nifi.security.user.oidc.read.timeout'                     
"${NIFI_SECURITY_USER_OIDC_READ_TIMEOUT}"
+prop_replace 'nifi.security.user.oidc.client.id'                        
"${NIFI_SECURITY_USER_OIDC_CLIENT_ID}"
+prop_replace 'nifi.security.user.oidc.client.secret'                    
"${NIFI_SECURITY_USER_OIDC_CLIENT_SECRET}"
+prop_replace 'nifi.security.user.oidc.preferred.jwsalgorithm'           
"${NIFI_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM}"
+prop_replace 'nifi.security.user.oidc.additional.scopes'                
"${NIFI_SECURITY_USER_OIDC_ADDITIONAL_SCOPES}"
+prop_replace 'nifi.security.user.oidc.claim.identifying.user'           
"${NIFI_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER}"
+prop_replace 'nifi.security.user.oidc.fallback.claims.identifying.user' 
"${NIFI_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER}"
+prop_replace 'nifi.security.user.oidc.truststore.strategy'              
"${NIFI_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY}"
diff --git a/nifi-registry/nifi-registry-docker-maven/dockermaven/sh/start.sh 
b/nifi-registry/nifi-registry-docker-maven/dockermaven/sh/start.sh
index c65f3ea926..2703395516 100755
--- a/nifi-registry/nifi-registry-docker-maven/dockermaven/sh/start.sh
+++ b/nifi-registry/nifi-registry-docker-maven/dockermaven/sh/start.sh
@@ -40,6 +40,13 @@ case ${AUTH} in
         . "${scripts_dir}/secure.sh"
         . "${scripts_dir}/update_login_providers.sh"
         ;;
+    oidc)
+        echo 'Enabling OIDC user authentication'
+        prop_replace 'nifi.registry.security.needClientAuth' 'false'
+
+        . "${scripts_dir}/secure.sh"
+        . "${scripts_dir}/update_oidc_properties.sh"
+        ;;
 esac
 
 . "${scripts_dir}/update_flow_provider.sh"
@@ -53,4 +60,4 @@ nifi_registry_pid="$!"
 trap "echo Received trapped signal, beginning shutdown...;" KILL TERM HUP INT 
EXIT;
 
 echo NiFi-Registry running with PID ${nifi_registry_pid}.
-wait ${nifi_registry_pid}
\ No newline at end of file
+wait ${nifi_registry_pid}
diff --git 
a/nifi-registry/nifi-registry-docker-maven/dockermaven/sh/update_oidc_properties.sh
 
b/nifi-registry/nifi-registry-docker-maven/dockermaven/sh/update_oidc_properties.sh
new file mode 100644
index 0000000000..77819f69c5
--- /dev/null
+++ 
b/nifi-registry/nifi-registry-docker-maven/dockermaven/sh/update_oidc_properties.sh
@@ -0,0 +1,27 @@
+#!/bin/sh -e
+
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+prop_replace 'nifi.registry.security.user.oidc.discovery.url'                  
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_DISCOVERY_URL}"
+prop_replace 'nifi.registry.security.user.oidc.connect.timeout'                
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_CONNECT_TIMEOUT}"
+prop_replace 'nifi.registry.security.user.oidc.read.timeout'                   
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_READ_TIMEOUT}"
+prop_replace 'nifi.registry.security.user.oidc.client.id'                      
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_CLIENT_ID}"
+prop_replace 'nifi.registry.security.user.oidc.client.secret'                  
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_CLIENT_SECRET}"
+prop_replace 'nifi.registry.security.user.oidc.preferred.jwsalgorithm'         
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_PREFERRED_JWSALGORITHM}"
+prop_replace 'nifi.registry.security.user.oidc.additional.scopes'              
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_ADDITIONAL_SCOPES}"
+prop_replace 'nifi.registry.security.user.oidc.claim.identifying.user'         
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_CLAIM_IDENTIFYING_USER}"
+prop_replace 
'nifi.registry.security.user.oidc.fallback.claims.identifying.user' 
"${NIFI_REGISTRY_SECURITY_USER_OIDC_FALLBACK_CLAIMS_IDENTIFYING_USER}"
+prop_replace 'nifi.registry.security.user.oidc.truststore.strategy'            
  "${NIFI_REGISTRY_SECURITY_USER_OIDC_TRUSTSTORE_STRATEGY}"

Reply via email to