Show Table of Contents
8.7. Integrating with External Single Sign-on (SSO) Providers
Developers hosting applications on your OpenShift Enterprise instance may need to integrate their applications with external single sign-on (SSO) providers. To enable this, starting in OpenShift Enterprise 2.2.6 you can configure an SSO plug-in that broadcasts controller actions through ActiveMQ to be read and acted upon by an external SSO provider. These actions include:
- Gear creation and deletion
- Alias addition and removal
- Environment variables addition, modification, and deletion
The external SSO provider can then listen for certain events occurring in the OpenShift Enterprise environment that are critical for utilizing the external SSO solution.
Procedure 8.21. To Install and Configure the SSO Plug-in:
- On the broker host, install the rubygem-openshift-origin-sso-activemq package:
#
yum install rubygem-openshift-origin-sso-activemq - Before enabling this plug-in, you must add a new user, topic, and queue to ActiveMQ. Edit the
/etc/activemq/activemq.xmlfile and add the following user in the appropriate section:<authenticationUser username="ssoinfo" password="ssoinfopasswd" groups="ssoinfo,everyone"/>
Also add the following topic and queue to the appropriate sections:<authorizationEntry topic="ssoinfo.>" write="ssoinfo" read="ssoinfo" admin="ssoinfo" /> <authorizationEntry queue="ssoinfo.>" write="ssoinfo" read="ssoinfo" admin="ssoinfo" />
- Restart ActiveMQ:
#
service activemq restart - To enable the plug-in, copy the
/etc/openshift/plugins.d/openshift-origin-sso-activemq.conf.examplefile to/etc/openshift/plugins.d/openshift-origin-sso-activemq.confon the broker host:#
cp /etc/openshift/plugins.d/openshift-origin-sso-activemq.conf.example \ /etc/openshift/plugins.d/openshift-origin-sso-activemq.conf - In the
/etc/openshift/plugins.d/openshift-origin-sso-activemq.conffile you just created, uncomment the last line specifying the/opt/rh/ruby193/root/etc/mcollective/client.cfgfile:MCOLLECTIVE_CONFIG="/opt/rh/ruby193/root/etc/mcollective/client.cfg"
Alternatively, edit the values for theACTIVE_*parameters with the appropriate information for your environment. - Restart the broker service for your changes take effect:
#
service openshift-broker restart - Create a listener that will connect to ActiveMQ on the new topic that was added. The listener can be run on any system that can connect to the ActiveMQ server. The following is an example that simply echoes any messages received:
#!/usr/bin/ruby require 'rubygems' require 'stomp' require 'yaml' c = Stomp::Client.new("ssoinfo", "ssoinfopasswd", "127.0.0.1", 61613) puts "Got stomp client, listening for messages on '/topic/ssoinfo':" c.subscribe('/topic/ssoinfo') { |msg| h = YAML.load(msg.body) puts "Message received: " puts h.inspect } c.join - Save and run your listener script. For example, if the script was saved at
/root/listener.rb:#
ruby /root/listener.rb - To verify that the plug-in and listener are working, perform several application actions with the client tools or Management Console using a test user account. For example, create an application, add an alias, remove an alias, and remove the application. You should see messages reported by the listener script for each action performed.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.