Heroku

Before You Begin

Introduction

This document describes how to configure Oracle Identity Cloud Service to provide Single Sign-On (SSO) for Heroku using SAML.

About Heroku

Heroku is a container-based cloud Platform as a Service (PaaS). Developers use Heroku to deploy, manage, and scale modern apps. Heroku platform is elegant, flexible, and easy to use, offering developers the simplest path to get the apps to market.

After integrating Heroku with Oracle Identity Cloud Service:

  • Users can access Heroku using their Oracle Identity Cloud Service login credentials.
  • Users can start Heroku using the Oracle Identity Cloud Service My Apps console.
  • Admins can assign and revoke user access to the Heroku app using the Oracle Identity Cloud Service administration console.

What Do You Need?

  • An Oracle Identity Cloud Service account with authorization rights to manage apps and users (Identity Domain Administrator or Application Administrator).
  • A Heroku account with authorization rights to configure federated authentication.
  • Ensure that the email ID of each user in Heroku matches the primary email ID of the Oracle Identity Cloud Service account.

Configuring the Heroku App in Oracle Identity Cloud Service

Use this section to register and activate the Heroku app, and then assign users to the app.

Prerequisite Steps

An organization name and a team name are required before you can register and activate the Heroku app. You obtain that organization name from Heroku.

  1. Access Heroku using the URL: https://www.heroku.com, and then click Log in.

  2. Log in as an administrator. The Heroku home page appears.

  3. In the upper-left corner, click the Personal apps drop-down list, and then select Create a Team.

  4. In the Team name field, enter your team name.

  5. Click Add Credit Card, enter the required fields, and then click Save.

Registering and Activating the Heroku App

  1. Access the Oracle Identity Cloud Service administration console, select Applications, and then click Add.

  2. Click App Catalog.

  3. Search for Heroku, and then click Add.

  4. In the App Details section, enter your Heroku Organization, and then click Next.

    Note: This is the organization name that you obtained while performing the steps in the "Prerequisite Steps" section.

  5. Click Download Identity Provider Metadata.

    Tip: Use this file later during the Heroku configuration in the "Configuring SSO for Heroku" section.

  6. Click Finish. Oracle Identity Cloud Service displays a confirmation message.

  7. Click Activate, and then click Activate Application. Oracle Identity Cloud Service displays a confirmation message.

Assigning Users to the Heroku App

  1. On the Heroku app page in Oracle Identity Cloud Service, select Users, and then click Assign. The Assign Users window appears.

  2. Select users that you need to assign to Heroku, and then click OK. Oracle Identity Cloud Service displays a confirmation message stating that the Heroku app is assigned to the users that you selected.

Configuring SSO for Heroku

  1. Access Heroku using the URL: https://www.heroku.com, and then click Log in.

  2. Log in as an administrator. The Heroku home page appears.

  3. In the upper-left corner, click the Personal apps drop-down list, and then select your team name.

    Tip: This is the team name that you obtained while performing the steps in the "Prerequisite Steps" section.

  4. Click Settings.

  5. Click Upload Metadata, and upload the metadata file that you downloaded during Heroku registration in Oracle Identity Cloud Service. See the "Registering and Activating the Heroku App" section.

    Note: Enabling SSO deactivates the ability to log in using the Heroku user name and password. Remain logged in to the Heroku session until you complete the next section to verify that Identity Provider initiated SSO from Oracle Identity Cloud Service works.

Verifying the Integration

Use this section to verify that SSO works when initiated from Oracle Identity Cloud Service (IdP initiated SSO) or from Heroku (SP initiated SSO).

Verifying Identity Provider Initiated SSO from Oracle Identity Cloud Service

  1. Access the Oracle Identity Cloud Service My Profile console using the URL: https://<IDCS-Service-Instance>.identity.oraclecloud.com/ui/v1/myconsole.

  2. Log in using credentials for a user that is assigned to the Heroku app. Oracle Identity Cloud Service displays a shortcut to Heroku under My Apps.

  3. Click Heroku. The Heroku home page appears.

  4. In the upper-right corner, click the user drop-down list, and then confirm that the user that is logged in is the same for both Heroku and Oracle Identity Cloud Service.

    This confirms that SSO that is initiated from Oracle Identity Cloud Service works.

Verifying Service Provider Initiated SSO from Heroku

  1. Access Heroku using the URL: https://www.heroku.com, click Log in, and then click Log in via SSO.

  2. Enter your Heroku team name, and then click Continue. You are redirected to the Oracle Identity Cloud Service login page.

    Tip: See the "Prerequisite Steps" section for Heroku team name.

  3. Log in using credentials for a user that is assigned to the Heroku app. The Heroku home page appears.

  4. In the upper-right corner, click the user drop-down list, and then confirm that the user that is logged in is the same for both Heroku and Oracle Identity Cloud Service.

This confirms that SSO that is initiated from Heroku works.

Troubleshooting

Use this section to locate solutions to common integration issues.

Known Issues

Heroku displays the message, "The < team name > requires you to invite members."

Cause: The email attribute sent by Oracle Identity Cloud Service during SSO doesn't match any existing user in Heroku.

Solution: Ensure that the user that you assign to the Heroku app has an account in both Oracle Identity Cloud Service and Heroku with the same email address.

Oracle Identity Cloud Service displays the message, "You are not authorized to access the app. Contact your system administrator." or “There is a problem with your account. Please contact Support."

Cause: The SAML 2.0 integration between the Oracle Identity Cloud Service Heroku app and Heroku is deactivated.

Solution:

  • Access the Oracle Identity Cloud Service administration console, select Applications, and then select Heroku.
  • In the App Details section, click Activate, and then click Activate Application. Oracle Identity Cloud Service displays a confirmation message.
Oracle Identity Cloud Service displays the message, "You are not authorized to access the app. Contact your system administrator."

Cause: The administrator revokes access for the user at the same time that the user tries to access the Heroku app using Oracle Identity Cloud Service.

Solution:

  • Access the Oracle Identity Cloud Service administration console, select Applications, and then select Heroku.
  • In the App Details section, select Users, and then click Assign to re-assign the user.

Unknown Issues

For unknown issues, contact Oracle Support:

  1. Go to https://support.oracle.com.

  2. Select Cloud Support, and then sign in with your support credentials.

  3. In the Cloud Dashboard, confirm that there are no planned outages in Oracle Identity Cloud Service, and then click Create Service Request.

  4. Select Oracle Identity Cloud Service as the service type.

  5. Complete your service request.