Skip to main content

GitHub SAML integration

Multi-Factor Authentication (MFA) is an extra layer of security used when logging into websites or apps. Individuals are authenticated through more than one required security and validation procedure that only they know or have access to.

Security Assertion Markup Language (SAML) is a protocol for authenticating to web applications. SAML allows federated apps and organizations to communicate and trust one another’s users.

Arculix by SecureAuth, as a SAML provider, improves the user login experience for GitHub users with convenient MFA, and offers a simple solution for adding MFA and single sign-on (SSO) on GitHub via SAML solution.

Prerequisites

  • Configured Arculix instance and user account with administrative privileges for Arculix.

  • Configured Arculix LDAP Agent.

    For more information, see the Arculix LDAP Agent deployment guide.

  • User account with administrative privileges for the GitHub server or instance.

Arculix SAML configuration as an Identity Provider (IdP)

In this section, you'll add an application for GitHub and set the SAML configuration settings. This will be the Identity Provider (IdP) side of the configuration.

  1. Log in to Arculix with an administrative account and go to Applications.

  2. Click Create New Application.

    Create new application
  3. In the New Application form, on the General tab, set the following configurations:

    Name 

    Set the name of the application. This is the name to display for push notifications, in the Admin panel, Application portal, and audit logs.

    For example, GitHub.

    Type 

    Set to SAML Service Provider.

    Out of Band Methods 

    Select the allowed methods end users can choose to approve MFA requests.

    For example, Arculix Mobile app (push notifications), SMS, or Security Key.

    Message for MFA Requests 

    Optional. Type a message displayed to end users when sending an MFA request via push notification, SMS, or email.

    arculix_new_app_github.png
  4. Select the SAML Service Provider Configuration tab, and set the following configurations:

    Issuer or Entity ID 

    Enter the Issuer/EntityID of your GitHub server or instance.

    For example, https://arculixgit.yourdomain.com).

    Log in URL 

    Enter the URL used by users to access GitHub.

    For example, https://arculixgit.yourdomain.com.

    Metadata URL

    Enter the URL containing metadata about your GitHub server or instance.

    By default, it should be similar to http(s)://[hostname]/saml/metadata.

    NameID Format 

    Set to Persistent.

    ACS URL 

    Enter the ACS URL of your GitHub server or instance.

    For example, http(s)://[hostname]/saml/consume.

    arculix_github_saml_settings.png
  5. Save your changes.

GitHub™ configuration

In this section, you'll configure GitHub as a service provider (SP).

  1. Download the SAML metadata and certificate for your organization from Arculix.

    Metadata download: https://sso.acceptto.com/<myorganization>/saml/download/metadata

    View metadata: https://sso.acceptto.com/<myorganization>/saml/metadata

    Certificate download: https://sso.acceptto.com/<myorganization>/saml/download/cert

  2. Log in to GitHub with an administrative user and access the site’s admin menu by clicking the rocket ship icon in the right corner of the page.

    GitHub admin menu
  3. In the site admin menu, select Management console, then select SAML under Authentication.

  4. In the URL configuration, enter the information you got earlier from Arculix.

    Add Acceptto info
  5. Upload the X.509 certificate file you got from Arculix SAML Appliance earlier.

    Upload Acceptto certificate
  6. Click Save settings.

    Save settings

Test your application integration

  1. Open a new browser session and navigate to your GitHub URL.

  2. Click Sign in with SAML.

    GitHub login
  3. You will be redirected to the Arculix SSO page.

    Application login page with email
  4. After successful authentication, select your preferred MFA method to approve access to the GitHub application.

    Select MFA method
  5. You are now authenticated with Arculix SSO-MFA and will be redirected to your GitHub.

    Redirected to GitHub
  6. If you receive a message similar to “NameID or username does not exist”, please verify the username configuration in the Arculix Appliance and the GitHub management console are identical. They MUST match.

  7. Once your testing is complete, and your user base is all migrated to SAML, you can prevent local login by de-selecting the control, “Allow creation of accounts with built-in authentication (for users not in SAML).”

    GitHub Auth SAML settings

Support

If you have questions or need assistance, contact SecureAuth Support.

Sales

Want to learn more about our MFA solutions? Contact our Professional Services for a demo today.

Disclaimer

All product names, trademarks, and registered trademarks are the property of their respective owners.

All company, product, and service names used in this document are for identification purposes only. The use of these names, trademarks, and brands do not constitute an endorsement by the SecureAuth Corporation.

GitHub is either registered trademarks or trademarks of GitHub, Inc. and/or one or more of its subsidiaries in the United States and/or other countries.

Microsoft and Active Directory are either registered trademarks or trademarks of Microsoft and/or one or more of its subsidiaries in the United States and/or other countries.