Overview

HackerRank enables you to set up provisioning through your SSO by configuring the SCIM protocol.

As an identity provider, Okta enables you to provide SSO access to the cloud, on-premise, and mobile applications. Once you sign into Okta, you can launch your web applications without re-entering your credentials.

This article guides you on how to configure SCIM provisioning with Okta.

Features

The following provisioning features are supported:

Note:  HackerRank accepts only the user's email address. In the setup, the user defines the SAML assertion with the necessary data. HackerRank SSO fails if it receives anything other than an email address.

Prerequisites

Configuring SCIM Provisioning with Okta

The process of configuring SCIM Provisioning with Okta includes the following:

  1. Generating an API Key from HackerRank

  2. Configuring Provisioning for HackerRank

  3. Importing Users

  4. Provisioning Steps

Generating an API Key from HackerRank

  1. Log in to HackerRank for Work with the Company Admin user account.  

  2. On the home page, click the drop-down next to the user icon on the top right corner of the page.

  3. Click Settings and click Single Sign On on the left panel.

  4. Click Generate Key under SCIM Protocol.

    integ_scim1.png
  5. Copy the API Key that is generated.

    integ_scim.png

Configuring Provisioning for HackerRank

  1. Click the Provisioning tab in the HackerRank for Work application in Okta.

  2. Click Configure API Integration.

    image19.png
  1. Select the Enable API Integration check box.

    image1.png
  2. Enter the API Token generated from HackerRank for Work in API Token.

    image8.png
  3. Click Test API Credentials to verify that the token is valid, then click Save.

  4. In the To App option under the Provisioning tab, select the Create Users and Update User Attributes check boxes.

    image7.png
  5. Click Save. You can now begin provisioning users to HackerRank for Work.

Importing Users

The Import Users option helps to prevent overwriting existing permissions for users that are already created in HackerRank. This option pulls users back into Okta to keep your directory in sync.

To import users:

  1. Click the Import tab in the HackerRank for Work application in Okta.

  2. Click Import Now to pull the list of users from HackerRank for Work.

    image27.png
  3. Select the users to be imported and Confirm Assignments.

    image23.png
  4. If users in HackerRank for Work exist in Okta but are not assigned to the HackerRank for Work application, an EXACT label is associated with the user. A new user is not created, but the user will be assigned to the application. 

  5. The Confirm Imported User Assignments dialog box appears.

    image26.png
  6. Click Confirm.

  7. Now, the user appears in your directory.

    image15.png
  8. You can navigate to the Assignment tab to verify the newly imported users.

Provisioning Steps

Perform these steps to create users in HackerRank for Work:

  1. Click the Assignments tab in the HackerRank for Work application in Okta.

  2. Click Assign.

There are two options in this list:

Assign to People

Provision a single user.

  1. Click Assign for the user that you want to provision.

    1. Enter the required attribute fields for these roles:

      • Role

        1. Recruiter

          1. Create tests, questions, and interviews.

          2. Access candidates.

          3. Send invites

        2. Developer

          1. Create tests, questions, and interviews.

          2. Access candidates.

        3. Interviewer

          1. Create and give interviews

      • Company Admin: Grant the ability to override and grant more permissions for users in the whole company.

      • Team Admin: Grant the ability to override permissions for users within the same team.

        image22.png
    2. Click Save and Go Back to view your newly assigned user.

Assign to Groups

Provision a group of users.

  1. Click Assign for the group that you want to provision.

    image25.png
  2. Enter the required attribute fields for these roles: (all users within the group will be provisioned with the same value for the attributes).

    • Role

      1. Recruiter

        1. Create tests, questions, and interviews.

        2. Access candidates.

        3. Send invites.

      2. Developer

        1. Create tests, questions, and interviews.

        2. Access candidates.

      3. Interviewer

        1. Create and give interviews

    • Company Admin: Grant the ability to override and grant more permissions for users in the whole company.

    • Team Admin: Grant the ability to override permissions for users within the same team.

      image18.png
  3. Click Save and Go Back. Your group has been assigned to the application.

  4. You can also view the list of users assigned in the People tab.

Migrating to New Instance of HackerRank

The HackerRank SCIM application is updated to provide a better experience to Okta users. The summary of changes is:

If you are a current user, you need to add a new instance of HackerRank in your Okta org.

If you already have an existing instance of HackerRank, follow these steps to migrate to a newly updated instance of HackerRank:

  1. Log in to your Okta org as an Admin.

  2. Open the Admin UI.

  3. Click Add Applications.

    image17.png
  4. Add a new instance of HackerRank.

    image30.png
  5. Configure the application including Provisioning.

  6. After SCIM Provisioning has been enabled, go to the Import tab of your new HackerRank app instance.

    image22.png
  7. Click Import Now.

  8. After the users from HackerRank are downloaded, select the users you want created or linked in Okta.

    image24.png
  9. Click Confirm Assignments. A pop-up appears to confirm with proceeding for the assignment confirmation.

    image32.png
  10. Click Confirm

  11. Navigate to the Admin Dashboard.

  12. Open your previous HackerRank app instance.

  13. Go to the Provisioning tab.

  14. On the SETTINGS section, click the API option.

  15. Click the Edit option and clear the Enable API Integration checkbox.

    image29.png
  16. Click Save.

  17. You can now deactivate or delete your previous HackerRank app instance and use the new HackerRank app you added.

Note:

Push Groups

To have access to tests and candidate reports, it is a best practice for users to be part of at least one team.

Follow these steps to assign your users to a team within HackerRank for Work.

Warning: Users must be provisioned to the application using Assignments for Push Groups to work. Group names must be unique and have not been created on HackerRank.

  1. Click the Push Groups tab in the HackerRank for Work application on Okta.

  2. Click Push Groups.

  3. Select Find groups By name.

    image9.png
  4. Using the search box, find your group

  5. Click Save.

  6. On successful group push, Active status appears for the group.

Common Group - Team Configurations

User Attributes

There are various attributes that you need to configure when assigning or updating users.

De-Provisioning a User

You can deprovision a User by clicking on the X icon on the right of the User in each row and then confirming it.

deprovision.png

The resources, such as Tests, Interviews, Questions, and so on, are transferred to the Owner of the Company, and the User will be locked.

Troubleshooting and Tips