GitHub Organization
What is GitHub Organizations
Organizations are shared accounts where businesses and open-source projects can collaborate across many projects at once, with sophisticated security and administrative features.
Preparation
The following placeholders will be used:
github.com/orgs/foo
is your GitHub organization, wherefoo
is the name of your orgauthentik.company
is the FQDN of the authentik Install
Create an application in authentik and note the slug, as this will be used later. Create a SAML provider with the following parameters:
- ACS URL:
https://github.com/orgs/foo/saml/consume
- Audience:
https://github.com/orgs/foo
- Issuer:
https://github.com/orgs/foo
- Binding:
Post
Under Advanced protocol settings, set a certificate for Signing Certificate.
Once the provider is created, it is advised to download the signing certificate as you will need it later.
GitHub Configuration
Navigate to your organization settings by going to your organization page at https://github.com/foo, then click Settings.
In the left-hand navigation, scroll down to the Security section and click Authentication security
On this page:
- Select the
Enable SAML authentication
checkbox. - In
sign-on URL
, typehttps://authentik.company/application/saml/<authentik application slug>/sso/binding/redirect/
- For
Issuer
, typehttps://github.com/orgs/foo
or theAudience
you set in authentik - For
Public certificate
, paste the full signing certificate into this field. - Verify that the
Signature method
andDigest method
match your SAML provider settings in authentik.
Once these fields are populated, you can use the Test SAML configuation
button to test the authentication flow. If the flow completes successfully, you will see a green tick next to the Test button.
Scroll down to hit the Save
button below.
This enables SAML as an authentication option. If you want to require SAML for your organization, visit your SSO url at https://github.com/orgs/foo/sso
and sign in. Once signed in, you can navigate back to the Authentication security
page and check Require SAML SSO authentication for all members of the foo organization.