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.
Log in to Arculix with an administrative account and go to Applications.
Click Create New Application.
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.
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
.Save your changes.
GitHub™ configuration
In this section, you'll configure GitHub as a service provider (SP).
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
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.
In the site admin menu, select Management console, then select SAML under Authentication.
In the URL configuration, enter the information you got earlier from Arculix.
Upload the X.509 certificate file you got from Arculix SAML Appliance earlier.
Click Save settings.
Test your application integration
Open a new browser session and navigate to your GitHub URL.
Click Sign in with SAML.
You will be redirected to the Arculix SSO page.
After successful authentication, select your preferred MFA method to approve access to the GitHub application.
You are now authenticated with Arculix SSO-MFA and will be redirected to your GitHub.
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.
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).”
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.