Smallstep supports Identity Provider (IdP)-initiated Single Sign-On (SSO). This feature allows authorized employees to access the Smallstep dashboard in a moderated fashion, as an alternative to creating credentials in smallstep.
To setup access the dashboard using SSO you will need to:
- Configure an OAUTH client in your identity provider (IDP) and add a group of users to that client.
- Add the
name
,email
, andadmin type
in the Dashboard Admins panel under the Settings menu in the Smallstep dashboard.
The email in the token provided by the IDP will be matched to the email in the Dashboard Admins list to authenticate access.
Identity Provider Instructions
G Suite
STEP 1. CREATE AN OAUTH CLIENT ID
Configure the OAuth Consent Screen
- In the Google Cloud Console, visit Configure the OAuth Consent Screen
- Choose User Type: Internal
- Create
- Now give your application a name, like Smallstep SSO
- Update the support email address, if needed
- Save
STEP 2. CREATE AN OAUTH Credential
- Visit Create an OAuth Credential
- Choose Application type: Web Application
- Name it Smallstep SSO
- Add an Authorized redirect URI https://api.smallstep.com/auth/openid/callback
- Create
- Copy the Value of Your Client ID and Your Client Secret and save them.
STEP 3. ENTER YOUR OIDC SETTINGS INTO THE SMALLSTEP SSO UI
- Open a new browser tab and log in at https://smallstep.com/app/[TEAM-NAME]/settings
- In the Dashboard SSO page click “GET STARTED”
- Select
G SUITE
as your OpenId provider and enter the client id and client secret. - enter the following string for the configuration endpoint
https://accounts.google.com/.well-known/openid-configuration
- Click
CREATE
STEP 4. Add SSO dashboard users to the SMALLSTEP UI
Dashboard admins need to be added to both the OpendId app and to the smallstep dashboard.
- Open a new browser tab or login to https://smallstep.com/app/[TEAM-NAME]/settings/admins/add
- Enter the users information and click
CREATE
Open a new browser tab or login to https://smallstep.com/app/[TEAM-NAME]/settings/admins/add
Azure
STEP 1. CREATE AN OAUTH OIDC App
- Create an App Registration
- Give your app a name like Smallstep SSO
- Under Supported account types select Accounts in this organizational directory only
- Click Register
- Now go back to your browser and go to App Registrations. and select the app your just created note the Application (client) ID and Directory (tenant) ID
- Add a redirect URI, select Authentication from the left hand navigation
- Under Platform Configurations click Add a Platform
- Select Web Application
- Add a redirect URI ****https://api.smallstep.com/auth/openid/callback
- Select ID tokens (used for implicit and hybrid flows)
- Configure
- Add a Client Secret, select Certificates & Secrets from the left hand navigation
- Click New Client Secret and give it a name like
Smallstep SSO
and expiration - Add
- Save the Client Secret, Application (client) ID, and Directory (tenant) ID from step 6.
STEP 2. ENTER YOUR OIDC SETTINGS INTO THE SMALLSTEP SSO UI
- Open a new browser tab and log in at https://smallstep.com/app/[TEAM-NAME]/settings
- In the Dashboard SSO page click “GET STARTED”
- Select
Azure
as your OpenId provider and enter the client id and client secret. - For the configuration endpoint, enter the following string replacing
{tenant}
with your applications Directory (tenant) ID:https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
- Click
CREATE
STEP 3. Add SSO dashboard users to the SMALLSTEP UI
Dashboard admins need to be added to both the OpendId app and to the smallstep dashboard.
- Open a new browser tab or login to https://smallstep.com/app/[TEAM-NAME]/settings/admins/add
- Enter the users information and click
CREATE
Okta
STEP 1. CREATE OKTA OIDC APPLICATION (Instructions verified on 1/25/2023)
- Start at your Okta admin dashboard (access via Admin button next to + Add Apps after successful log in)
- Go to Applications → Create App Integration
- In the pop up select OIDC - OpenID Connect as the sign-in method and specify Web Application for the Application type.
- Give it a name like
smallstep-sso
- Under Sign-in redirect URIs, replace the default localhost with: https://api.smallstep.com/auth/openid/callback
- Under Assignments, select "Skip group assignment for now."
- Click save to continue to the next steps
- Go to the General tab → Note the Client Id and Client Secret.
- Click edit next to the General Settings section
- Under Grant Type select the Implicit (hybrid) radio button.
- Select the Allow ID Token with implicit grant type radio button.
- Save changes
STEP 1. Assign Users
- At the top of the Page, select the Assignments tab.
- Select the blue Assign button → Assign People to add the users you want to have access to the Smallstep dashboard
- Go Back to the top of the page, select the General tab, and note the client id and secret for the next step.
STEP 3. ENTER YOUR OIDC SETTINGS INTO THE SMALLSTEP SSO UI
- Open a new browser tab and log in at https://smallstep.com/app/[TEAM-NAME]/settings
- In the Dashboard SSO page click “GET STARTED”
- Select
Okta
as your OpenId provider and enter the client id and client secret. - For the Configuration Endpoint, enter the following string replacing
{your Okta domain}
with your existing OKTA domain:https://{your Okta domain}/.well-known/openid-configuration
- Click
CREATE
STEP 4. Add SSO dashboard users to the SMALLSTEP UI
Dashboard admins need to be added to both the OIDC app and to the smallstep dashboard.
- Open a new browser tab or login to https://smallstep.com/app/[TEAM-NAME]/settings and click the "+ ADD ADMIN" button at the top of the settings page.
- Enter the users information and click
CREATE