Microsoft SSO implementation
SSO with Microsoft Entra ID
Section titled “SSO with Microsoft Entra ID”This guide covers the configuration of Single Sign-On (SSO) authentication for rConfig V8 using Microsoft Entra ID (formerly Azure AD). You create an application registration in Microsoft, copy three values into the rConfig .env file, and approve the first user who signs in. For what SSO gives you and which Microsoft clouds are supported, start with the Microsoft SSO overview.
Prerequisites
Section titled “Prerequisites”- Administrator access to the Microsoft portal for your cloud:
portal.azure.comfor commercial tenants,portal.azure.usfor GCC High and DoD tenants - Administrator access to rConfig V8, and shell access to edit
.envon the rConfig server - rConfig server accessible via HTTPS with valid domain name
- rConfig V8.3.3 or later if your tenant is in GCC High, DoD or China. Earlier releases can only sign in commercial tenants
Configure Microsoft Azure
Section titled “Configure Microsoft Azure”Step 1: Create App Registration
Section titled “Step 1: Create App Registration”Navigate to Azure Portal > App registrations and click New registration.
GCC High and DoD tenants do this in the Azure Government portal at portal.azure.us, not portal.azure.com. The screens are the same, the tenant is not.
Configure the application registration:
- Name: Choose a descriptive name (e.g., “rConfig V8”)
- Supported account types: Select the appropriate option for your organization
- Redirect URI: Select Web and enter:
https://your-rconfig-domain.com/auth/callback/microsoft
Click Register to create the application.
Step 2: Note Application Details
Section titled “Step 2: Note Application Details”After registration, copy the following values from the Overview page:
- Application (client) ID
- Directory (tenant) ID
Step 3: Create Client Secret
Section titled “Step 3: Create Client Secret”- Navigate to Certificates & secrets
- Click New client secret
- Add a description (e.g., “rConfig V8 Secret”)
- Select an expiration period
- Click Add
- Copy the Value immediately (you won’t be able to view it again)
Configure rConfig V8
Section titled “Configure rConfig V8”Step 1: Edit Environment Configuration
Section titled “Step 1: Edit Environment Configuration”Open the rConfig .env file:
vim /var/www/html/rconfig8/current/.envStep 2: Add Microsoft SSO Configuration
Section titled “Step 2: Add Microsoft SSO Configuration”Add or update the following lines with your Azure application values:
MICROSOFT_CLIENT_ID=your_application_client_idMICROSOFT_CLIENT_SECRET=your_client_secret_valueMICROSOFT_REDIRECT_URI=https://your-rconfig-domain.com/auth/callback/microsoftMICROSOFT_TENANT_ID=your_tenant_id
# New in V8.3.3. Microsoft cloud the tenant lives in: commercial (default), gcc-high, dod or chinaMICROSOFT_CLOUD=commercialConfiguration Parameters:
MICROSOFT_CLIENT_ID: Application (client) ID from AzureMICROSOFT_CLIENT_SECRET: Secret Value created in Step 3MICROSOFT_REDIRECT_URI: Must match the redirect URI configured in AzureMICROSOFT_TENANT_ID: Directory (tenant) ID from Azure (required for single-tenant configurations)MICROSOFT_CLOUD: New in V8.3.3. The Microsoft cloud your tenant is in. Leave it ascommercialunless you are in GCC High, DoD or China. On V8.3.2 and earlier this key does nothing
Step 3: Choose your Microsoft cloud
Section titled “Step 3: Choose your Microsoft cloud”MICROSOFT_CLOUD decides which Microsoft hosts rConfig talks to. Get it wrong and the sign-in redirect goes to an authority that does not know your tenant, so the login never comes back.
MICROSOFT_CLOUD | Sign-in host | Microsoft Graph host |
|---|---|---|
commercial (default) | login.microsoftonline.com | graph.microsoft.com |
gcc-high | login.microsoftonline.us | graph.microsoft.us |
dod | login.microsoftonline.us | dod-graph.microsoft.us |
china | login.chinacloudapi.cn | microsoftgraph.chinacloudapi.cn |
Both hosts have to be reachable outbound from the rConfig server, so use this table when you open firewall or proxy allowlists.
Step 4: Clear Application Cache
Section titled “Step 4: Clear Application Cache”Save the file and clear the rConfig cache:
php /var/www/html/rconfig8/current/artisan rconfig:clear-allVerify Configuration
Section titled “Verify Configuration”After configuration, the rConfig login page will display a Sign in with Microsoft button.
User Approval Process
Section titled “User Approval Process”When users attempt to sign in via SSO for the first time:
- User authenticates successfully with Microsoft
- User account is created in rConfig with SSO access disabled
- User sees an error message indicating approval is required
Administrator must:
- Log in to rConfig as an administrator
- Navigate to Users section
- Locate the new SSO user
- Enable SSO access for the user
- Assign appropriate role and permissions
After approval, the user can successfully authenticate and access rConfig.
Troubleshooting
Section titled “Troubleshooting”SSO button not appearing
Section titled “SSO button not appearing”- Verify all environment variables are correctly set
- Ensure cache has been cleared:
php artisan rconfig:clear-all - Check Apache error logs for configuration issues
Login redirects to the wrong Microsoft domain
Section titled “Login redirects to the wrong Microsoft domain”If you are on GCC High or DoD and the browser lands on login.microsoftonline.com instead of login.microsoftonline.us, the cloud setting has not taken effect:
- Confirm you are running V8.3.3 or later. Earlier releases always used the commercial endpoints
- Check
MICROSOFT_CLOUD=gcc-high(ordod) is set in.envwith no typo. An unrecognised value falls back tocommercialrather than failing outright - Re-run
php artisan rconfig:clear-all. The cached config and event map are both rebuilt by it, and a stale cache keeps the old behaviour
The user account will not appear in Users while this is happening. The sign-in never returns to rConfig, so there is nothing yet to approve.
Authentication fails
Section titled “Authentication fails”- Verify redirect URI matches exactly between Azure and rConfig
- Confirm client secret has not expired in Azure
- Check that tenant ID is correct for single-tenant applications
- For GCC High and DoD, confirm the app registration was created in the Azure Government portal (
portal.azure.us) and not the commercial one
Users cannot access after SSO login
Section titled “Users cannot access after SSO login”- Verify administrator has enabled SSO access in Users section
- Confirm user has been assigned an appropriate role
- Check user account status is active
Related Documentation
Section titled “Related Documentation”- Microsoft SSO Overview - Supported Microsoft clouds and what SSO gives you
- SSO Overview - Understanding SSO in rConfig V8
- User Management - Managing user accounts and approvals
- Role-Based Access Control - Configuring user roles and permissions
