Skip to main content

GitHub SAML integration

Multi-factor authentication (MFA) is an extra layer of security used when logging into websites or apps to authenticate users through more than one required security and validation procedure that only you 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.

Acceptto™, 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

  • An Acceptto account with a configured Identity Provider and LDAP Agent.

    For more information, see the LDAP Agent deployment guide.

  • A user with administrative privileges for the Acceptto cloud dashboard.

  • A user with administrative privileges for the GitHub server or instance.

Acceptto SAML Configuration as Identity Provider (IdP)

  1. Login to the Acceptto cloud admin panel with an administrative account and go to Applications.

  2. Create a new application by selecting Create New Application.

    Create new application
  3. In the New Application form, enter the following values under the General tab.

    • Name - The application name displayed in the admin panel and application portal and used for push notifications and audit logs (e.g. GitHub).

    • Type - Select "SAML Service Provider" from the options

    • Out of Band Methods - Select the allowed methods for approving MFA requests

    • Message for MFA Requests - Enter the user-facing message for Push, SMS, and email MFA requests (optional)

  4. Under the SAML Service Provider Configuration tab, enter the following values:

    • Issuer or Entity ID – The Issuer/EntityID of your GitHub server or instance. (e.g. https://accepttogit.yourdomain.com)

    • Sign in URL - The link used by your users to access GitHub. (e.g. https://accepttogit.yourdomain.com)

    • Metadata URL - The URL containing metadata about your GitHub server or instance. By default, it should be similar to http(s)://[hostname]/saml/metadata

    • NameID Format - Persistent

    • ACS URL - The ACS URL of your GitHub server or instance. (e.g. http(s)://[hostname]/saml/consume)

    GitHub SP configuration
  5. Click Save to create the Application.

GitHub™ Configuration

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

    Metadata Download at https://sso.acceptto.com/<myorganization>/saml/download/metadata or view at https://sso.acceptto.com/<myorganization>/saml/metadata

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

  2. Login to GitHub with an administrative user and access the site’s admin menu by selecting 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 Acceptto.

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

    Upload Acceptto certificate
  6. Click “Save settings.”

    Save settings

Test Your Setup

  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 Acceptto SAML page.

    SSO login
  4. After successful authentication, you’ll see the Acceptto MFA options and need to select your desired method and pass the verification stage on the It’sMe mobile app.

    Select MFA method
  5. You are now authenticated with Acceptto 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 Acceptto 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.