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)
Login to the Acceptto cloud admin panel with an administrative account and go to Applications.
Create a new application by selecting Create New Application.
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)
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
)
Click Save to create the Application.
GitHub™ Configuration
Download the SAML metadata and certificate for your organization from Acceptto.
Metadata Download at
https://sso.acceptto.com/<myorganization>/saml/download/metadata
or view athttps://sso.acceptto.com/<myorganization>/saml/metadata
Certificate Download at
https://sso.acceptto.com/<myorganization>/saml/download/cert
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.
In the site admin menu, select Management console, then select SAML under Authentication.
In the URL configuration, enter the information you got earlier from Acceptto.
Upload the X.509 certificate file you got from Acceptto SAML Appliance earlier.
Click “Save settings.”
Test Your Setup
Open a new browser session and navigate to your GitHub URL.
Click “Sign in with SAML.”
You will be redirected to the Acceptto SAML page.
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.
You are now authenticated with Acceptto 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 Acceptto 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.