Hello there!

Need Help? We are right here!

support
miniOrange Email Support
success

Thanks for your inquiry.

If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com

Two-Factor Authentication (2FA) for Github


Two Factor Authentication (2FA) or Multifactor Authentication is the process of the authentication in which you have to provide two factors to gain the access. First Factor is the one that you know username and password and Second factor is what you might have as unique like a phone (For OTP) or Fingerprint. This additional layer prevents the unauthorized person from accessing the resources even if they know your username and password. miniOrange provides 15+ authentication methods and solutions for various use cases.


Connect with External Source of Users


miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, Azure AD, OpenLDAP, Google, AWS Cognito etc), Identity Providers (like Shibboleth, Ping, Okta, OneLogin, KeyCloak), Databases (like MySQL, Maria DB, PostgreSQL) and many more.



Apps supported by miniOrange



two factor authentication (2FA) miniOrange authenticator app

miniOrange
Authenticator App

   
two factor authentication (2FA) google authenticator app

Google
Authenticator App

   
two factor authentication (2FA) authy authenticator app

Authy 2-Factor
Authentication App

   
two factor authentication (2FA) Microsoft authenticator app

Microsoft
Authenticator App

   

Follow the Step-by-Step Guide given below for Github Single Sign-On (SSO)

1. Configure Github in miniOrange

  • Login into miniOrange Admin Console.
  • Go to Apps and click on Add Application button.
  • Github Single Sign-On (SSO) add app

  • In Choose Application Type click on Create App button in SAML/WS-FED application type.
  • Github Single Sign-On (SSO) choose app type

  • Search for Github in the list, if you don't find Github in the list then, search for custom and you can set up your application via Custom SAML App.
  • Github Single Sign-On (SSO) manage apps

  • Make sure to enter the temporary SP Entity ID.
  • Make sure to enter the temporary ACS URL.
  • Select the Email ID from the Name ID dropdown.
  • Leave the Attributes section empty.
  • Github two factor authentication (2FA) configure apps

  • Go to the Add Policy and select DEFAULT from the Group Name dropdown.
  • Now enter the Github in the Policy Name field.
  • Select PASSWORD from the First Factor Type dropdown.
  • Click on Save to configure Github.
  • Github two factor authentication (2FA) configure Github

  • Click on Metadata link to download the metadata which will be required later. Click on Link to see the IDP initiated SSO link for Github.
  • Github two factor authentication (2FA) download metadata

  • Hit on the Download Metadata XML button to download the metadata.xml file.
  • Github two factor authentication (2FA) download metadata

2. Configure SSO in Github

  • In the top right corner of GitHub, click your profile photo, then click Your profile.
  • On the left side of your profile page, under "Organizations", click the icon for your organization.
  • Under your organization name, click Settings.
  • In the organization settings sidebar, click Security.
  • Github two factor authentication (2FA) settings

  • Under "SAML single sign-on", select Enable SAML authentication.
  • Github two factor authentication (2FA) enable sso

  • In the "Sign on URL" field, type the HTTPS endpoint of your IdP for single sign-on requests. This value is available in your IdP configuration.
  • Optionally, in the "Issuer" field, type your SAML issuer's name. This verifies the authenticity of sent messages.
  • Under "Public Certificate," paste a x509 certificate to verify SAML responses.
  • Click Edit icon and then in the Signature Method and Digest Method drop-downs, choose the hashing algorithm used by your SAML issuer to verify the integrity of the requests.
  • Before enabling SAML SSO for your organization, click Test SAML configuration to ensure that the information you've entered is correct.
  • Github two factor authentication (2FA) test configuration

  • To enforce SAML SSO and remove all organization members who haven't authenticated via your IdP, select Require SAML SSO authentication for all members of the organization name organization.
  • Github two factor authentication (2FA) require sso

  • Click Save.

3. Configure 2FA for Github

    3.1: Configure 2FA for miniOrange Admin Dashboard.

    • From your miniOrange Dashboard in the left navigation bar, select 2- Factor Authentication, click on Configure 2FA.

    • Two factor-authentication for Github | configure_2fa

    • Choose any 2FA method you want to configure.
    • Let's say you want to configure OTP over SMS
    • Click on OTP over SMS
    • Two factor-authentication for Github  | otp_over_sms

      Two factor-authentication for Github  | enter_phone_no

    • Now add your mobile number on which you want to receive the OTP.
    • Then click on Save.
    • Two factor-authentication for Github  | save_phone_number

      Two factor-authentication for Github  | otp_over_sms_active

    • Now as shown in the above image, OTP over SMS is your Active 2FA method.
    • Enable Prompt for second factor during signin to your console.
    • Then click on Save.
    • Two factor-authentication for Github  | enable_2fa

    • To verify the configuration login again.
    • You will be asked for Username and password then it is redirected to below page:
    • Enter the OTP received on the phone and click on verify.
    • Two factor-authentication for Github  |  2fa_otp_verification

    • If you are redirected to your dashboard, you have successfully configured OTP over SMS as your 2FA method.
    • Similarly you can configure rest of the 2FA methods for miniOrange dashboard by following this guide.
    • To configure 2FA methods for end-users, You can find the guide here.

    3.2: Enable 2FA for Users of Github application.

    • To enable 2FA for Users of Github application. Go to Policies >> App Authentication Policy
    • Click on Edit against the configured application
    • Two factor-authentication for Github | Two Factor Authentication configure 2fa of application

    • Enable the Enable 2-Factor Authentication (MFA) option.
    • Two factor-authentication for Github | Two Factor Authentication enable 2fa

    • Click on Save.

4. Login with miniOrange

  • Go to your Github Domain. It will redirect you to miniOrange Single Sign-On Service console.
  • zoom two factor authentication(2fa) user credentials

  • Enter your miniOrange login credentials and click on Login.
  • Since we have Two-factor authentication(2FA) enabled, you will be prompted to register for it. It's a one time process.
  • Configure your basic details.
  • zoom two factor authentication(2fa) user registration

  • Configure any authentication method of your choice.
  • zoom two factor authentication(2fa) add new security

  • After successful registration, you will be logged in to your Github account.
  • Now we have Two-factor authentication enabled.
  • To verify your Two-factor authentication(2FA) configuration, go to your Github Domain. You will be redirected to miniOrange login console.
  • zoom two factor authentication(2fa) verify user credentials

  • Enter your login credentials, and click on login. It will prompt to verify yourself against the configured 2fa method.
    e.g. If you have configured OTP over SMS, after login into Github it will prompt for OTP.
  • zoom two factor authentication(2fa) otp prompt

  • Enter the OTP received in your phone, after successful 2fa verification, you will be redirected to the Github dashboard.

5. Adaptive Authentication with Github

A. Restricting access to Github with IP Blocking

    You can use adaptive authentication with Github Single Sign-On (SSO) to improve the security and functionality of Single Sign-On. You can allow a IP Address in certain range for SSO or you can deny it based your requirements and you can also challenge the user to verify his authenticity. Adaptive authentication manages the user authentication bases on different factors such as Device ID, Location, Time of Access, IP Address and many more.

    You can configure Adaptive Authentication with IP Blocking in following way:
  • Login to Self Service Console >> Adaptive Authentication.
  • Add a Policy Name for your Adaptive Authentication Policy.
  • Github Single Sign-On (SSO) Restrict Access adaptive authnetication policy

  • Select your Action for behaviour Change and Challenge Type for user from the Action for behaviour Change Section.
  • Github Single Sign-On (SSO) Restrict Access adaptive authentication behaviour change


    Action for behaviour Change Options :


    Attribute Description
    Allow Allow user to authenticate and use services if Adaptive authentication condition is true.
    Challenge Challenge users with one of the three methods mentioned below for verifying user authenticity.
    Deny Deny user authentications and access to services if Adaptive authentication condition is true.

    Challenge Type Options :

    Attribute Description
    User second Factor The User needs to authenticate using the second factor he has opted or assigned for such as
  • OTP over SMS
  • PUSH Notification
  • OTP over Email
  • And 12 more methods.
  • KBA (Knowledge-based authentication) The System will ask user for 2 of 3 questions he has configured in his Self Service Console. Only after right answer to both questions user is allowed to proceed further.
    OTP over Alternate Email User will receive a OTP on the alternate email he has configured threw Self Service Console. Once user provides the correct OTP he is allowed to proceed further.

  • Now Enable Enable IP Restriction option from the IP RESTRICTION CONFIGURATION section to configure custom IP range.
  • Github Single Sign-On (SSO) Restrict Access adaptive authentication ip blocking

  • Select the Action you want to perform if the IP address is out of the range. i.e. Allow, Challenge & Deny.
  • Specify the IP Address range for which you want above setting to reflect. You can add more than one IP Address ranges by clicking on following button +.
  • Scroll to the end and click on save.


B. Adaptive Authentication with Limiting number of devices.

    Using Adaptive Authentication you can also restrict the number of devices the end user can access the Services on. You can allow end users to access services on a fixed no. of devices. The end users will be able to access services provided by us on this fixed no. of devices.

    You can configure Adaptive Authentication with Device Restriction in following way

  • Login to Self Service Console >> Adaptive Authentication.
  • Add a Policy Name for your Adaptive Authentication Policy.
  • Select your Action for behaviour Change and Challenge Type for user from the Action for behaviour Change Section.
  • Github Single Sign-On (SSO) Restrict Access adaptive authentication behaviour and challenge type


  • Scroll down to Device Configuration section and enable Allow User to Register Device option to allow users to register their devices.
  • Enter the Number of Devices which are allowed to register in field next to Number of Device Registrations Allowed
  • Choose Action if number of devices exceeded (This will override your setting for Action for Behaviour Change.)
    1. Challenge: The user needs to verify himself using any of the three methods mentioned in table in step 5.1
    2. Deny : Deny users access to the system
  • Enable option Send email alerts to Users if number of Device registrations exceeded allowed count if you want to alert the user about no of devices exceeding the limit. Save the configuration.
  • Github Single Sign-On (SSO) Restrict Access adaptive authentication enable device restriction


C. Add Adaptive Authentication policy to Github.

  • Login to Self Service Console >> Policies.
  • Click on Edit option for predefined SAML app policy.
  • Github Single Sign-On (sso) edit device restriction policy

  • Set your application name in the Application and select password as Login Method.
  • Enable Adaptive Authentication on Policy page and select the required restriction method as an option.
  • From Select Login Policy dropdown select the policy we created in last step and click on save.
  • Github Single Sign-On (SSO) Restrict Access save device restriction policy

    How to add a trusted Device
    1. When End-user log in to the self service console after the policy for device restriction is on, he is provided the option to add the current device as a trusted device.

External References

Our Other Identity & Access Management Products