Skip to main content

Microsoft Entra ID (Azure AD) – SSO & Connector Permissions

Documentation Snapshot: October 2026

Reference Environment: Microsoft Entra Admin Center / Microsoft 365 / Azure Portal (as of late 2026). Note for administrators: In 2023, Microsoft rebranded Azure Active Directory (Azure AD) to Microsoft Entra ID and introduced the dedicated identity portal https://entra.microsoft.com/. In 2025, the admin center navigation was reorganized: the former Identity node is now labeled Entra ID, and the intermediate Applications level was removed (e.g., app registrations are now located directly under Entra ID → App registrations). If menu names or licensing suites (e.g., Microsoft Entra Suite) evolve in future years, please note that the terminology and navigation paths in this document reflect this snapshot.

This guide provides a comprehensive, step-by-step walkthrough for administrators to set up Single Sign-On (SSO) with Microsoft Entra ID for FSI Server, secure the integration, and manage access to different Source Connectors on FSI Server.

It covers all licensing tiers—from Entra ID Free (the default plan included in Microsoft 365) to Entra ID P1 and Entra ID P2—highlighting the functional differences, workarounds, and best practices.


Portal Selection: Microsoft Entra Admin Center vs. Azure Portal​

Microsoft provides two web portals to manage directory identities and app registrations. Both portals connect to the exact same directory (tenant) and share all underlying configuration:

FeatureMicrosoft Entra Admin CenterMicrosoft Azure Portal
URLhttps://entra.microsoft.com/https://portal.azure.com/
Primary FocusIdentity & Access Management (IAM), governance, protection, and app registrations.Complete cloud infrastructure (VMs, databases, networks, storage + identity).
RecommendationRecommended for identity and FSI Server administrators (streamlined, focused navigation).Suitable for administrators already working across Azure infrastructure.
Navigation PathEntra ID → App registrations
(until 2025: Identity → Applications → App registrations)
Search: Microsoft Entra ID (formerly Azure Active Directory) → App registrations

In the following steps, navigation paths refer primarily to the Microsoft Entra Admin Center, with corresponding Azure Portal paths noted where applicable.


License Feature Comparison: Free vs. P1 vs. P2​

Depending on your organization's Microsoft 365 / Entra ID plan, different administrative and security capabilities are available:

CapabilityEntra ID Free (No Feature Plan)Entra ID P1Entra ID P2
OIDC Single Sign-On (FSI Server)✅ Supported✅ Supported✅ Supported
Security Groups for Connectors✅ Static only✅ Static & Dynamic✅ Static & Dynamic
Dynamic User Groups
(e.g., user.department -eq "Marketing")
❌ Not available
(manual assignment)
✅ Supported
(automated membership)
✅ Supported
(automated membership)
Enterprise App Assignment
(when Assignment required = Yes)
⚠️ Users only
(group assignment disabled)
✅ Assign Groups✅ Assign Groups
Token Group Filtering
(prevents Group Overage / Token Bloat)
❌ No (emits all user groups)✅ Assigned groups only✅ Assigned groups only
Conditional Access
(enforce MFA & compliant devices for FSI)
❌ No (global security defaults only)✅ Supported
(targeted FSI policies)
✅ Supported
(targeted FSI policies)
Risk-Based Conditional Access
(sign-in and user risk detection)
❌ No❌ No✅ Supported
(Identity Protection / ML)
Privileged Identity Management (PIM)
(Just-in-Time access for FSI Admins)
❌ No❌ No✅ Supported
Access Reviews
(periodic recertification of connector access)
❌ No❌ No✅ Supported

Architecture & Data Flow​

On FSI Server, digital assets are organized into Source Connectors (such as local storage directories, SAN/NAS shares, or cloud buckets). Access to each connector is governed by FSI Server Groups.

The following diagram illustrates how user attributes in Entra ID map to security groups, pass through the OIDC authorization code flow, and resolve to connector permissions on FSI Server:

Scenario Overview:​

FSI ConnectorPurposeEntra ID GroupFree Plan SetupP1 / P2 SetupFSI Permission
marketing-assetsCampaign images, graphicsFSI-Connector-MarketingStatically assigned usersDynamic (department -eq "Marketing")Read, Write, Upload
product-catalogE-Commerce product photosFSI-Connector-ProductsStatically assigned usersDynamic (department -in ["E-Commerce", "Photo"])Read Only / Download
internal-archiveConfidential company archiveFSI-Connector-ArchiveStatically assigned usersStatic with P2 Access ReviewsRead Only
All ConnectorsFull server administrationFSI-AdministratorsStatically assigned usersP2 PIM (Just-in-Time elevation)Administrator (Full access)

Microsoft Entra Admin Center Configuration​

Step 1: Create Security Groups for Connectors​

In the Microsoft Entra Admin Center, navigate to: 👉 Entra ID → Groups → All groups → New group (In Azure Portal: Microsoft Entra ID → Groups → All groups → New group)

Option A: With Entra ID Free (Static Membership)​

  1. Group type: Security
  2. Group name: e.g., FSI-Connector-Marketing
  3. Membership type: Assigned
  4. Under Members, manually select the authorized employees.
  5. Repeat for FSI-Connector-Products, FSI-Connector-Archive, and FSI-Administrators.

Option B: With Entra ID P1 (Dynamic User Groups)​

  1. Membership type: Dynamic User
  2. Under Dynamic user members → Add expression:
    • Property: department, Operator: Equals, Value: Marketing (Expression: (user.department -eq "Marketing"))
  3. Benefit: Employees joining or moving to Marketing receive access automatically; access is revoked immediately upon department change.

Option C: With Entra ID P2 (PIM for Admins & Access Reviews)​

  • For FSI-Administrators: Set Microsoft Entra roles can be assigned to the group to Yes (this option requires at least an Entra ID P1 license). Combined with Privileged Identity Management (PIM) (P2), administrators only activate their privileges upon request with MFA and approval.
  • For FSI-Connector-Archive: Schedule quarterly Access Reviews under ID Governance (formerly Identity Governance) to periodically recertify permissions.
Important: Record the Object IDs (GUIDs)

Open each created group and copy its Object ID (GUID, e.g., 11111111-aaaa-bbbb-cccc-111111111111). You will need these GUIDs for the groupMapping section in settings.yml.


Step 2: Register the Application​

  1. Navigate to: 👉 Entra ID → App registrations → New registration (until 2025: Identity → Applications → App registrations; in Azure Portal: Microsoft Entra ID → App registrations → New registration)
  2. Configure the following fields:
    • Name: FSI Server (or e.g., FSI Server Media Platform).
    • Supported account types: Select Single tenant only (single-tenant; formerly labeled "Accounts in this organizational directory only").
    • Redirect URI:
      • Platform dropdown: Web (Important: Do NOT select "Single-page application (SPA)"!).
      • URL: https://<fsi-domain>/fsi/interface/ (Example: https://fsi.example.com/fsi/interface/ – Ensure the trailing slash / is included!)
  3. Click Register.
Platform 'Web' Required (Do NOT use 'Single-Page Application')

FSI Server utilizes the Backend-for-Frontend (BFF) pattern: the browser forwards the temporary authorization code to the Java backend, which exchanges it for tokens server-to-server. If the platform is registered as a Single-page application (SPA) in Entra ID, Microsoft rejects the server-side code exchange with error AADSTS9002326 when a client secret is provided.


Step 3: Record Tenant and Application IDs​

On the application Overview page, record the following values:

  • Application (client) ID: e.g., 00000000-0000-0000-0000-000000000000
  • Directory (tenant) ID: e.g., 11111111-2222-3333-4444-555555555555

Step 4: Configure Authentication & Back-Channel Logout​

  1. In the app menu, select Authentication.
  2. Under Web, verify the Redirect URI: https://<fsi-domain>/fsi/interface/.
  3. Under Logout URL:
    • Front-channel logout URL: Leave empty.
    • Back-channel logout URL: Enter the FSI Server logout endpoint: https://<fsi-domain>/service/oidc/logout
  4. Under Implicit grant and hybrid flows:
    • Ensure both Access tokens and ID tokens are unchecked (disabled). (FSI Server uses the secure Authorization Code Flow with PKCE and Client Secret).
  5. Click Save.

Step 5: Create a Client Secret​

  1. In the app menu, navigate to Certificates & secrets → Client secrets tab.
  2. Click New client secret.
  3. Description: e.g., FSI Server Backend Secret.
  4. Expires: Choose according to company policy (6, 12, 18, or 24 months; e.g., 6 or 24 months).
  5. Click Add.
  6. CRITICAL: Copy the string in the Value column immediately (not the Secret ID!). (The plaintext value is only displayed once and will be permanently masked afterwards).

Step 6: Configure Token Group Claims​

To inform FSI Server of user group memberships, Entra ID must include them in the ID token.

  1. Navigate to Token configuration.
  2. Click Add groups claim.
  3. Configure the claim based on your license:
SettingEntra ID FreeEntra ID P1 / P2 (Recommended)
Group SelectionSelect Security groups.Select Groups assigned to the application.
Group FilteringNot available: Emits all security groups the user belongs to.Emits only the security groups explicitly assigned to this application (see Step 7), keeping the token small.
Format (ID)Group ID (Object ID GUID)Group ID (Object ID GUID)
Token Types☑ ID☑ ID
Benefit of P1/P2 Group Filtering

If an employee belongs to more than 200 groups (the limit for JWT tokens such as the OIDC ID token; SAML tokens: 150), Entra ID cannot fit all group IDs into the token and triggers the Group Overage Issue (_claim_names). With P1/P2, enabling Groups assigned to the application ensures only the specific FSI connector groups are emitted, keeping tokens small, fast, and reliable.

  1. Click Add.

Step 7: Configure Enterprise Application (License Differences)​

Navigate to: 👉 Entra ID → Enterprise apps → Select FSI Server. (until 2025: Identity → Applications → Enterprise applications; in Azure Portal: Microsoft Entra ID → Enterprise applications → FSI Server)

Scenario A: With Entra ID Free (No Feature Plan)​

Entra ID Free Limitation

In the Free plan, Microsoft prohibits assigning groups to an Enterprise Application. Group assignment requires an Entra ID P1 or P2 license.

Free plan customers have two viable options:

  • Recommended Option for Free (Access Control Managed via FSI Server):
    1. Under Properties, set Assignment required? to No.
    2. Click Save.
    3. Security Model: Any tenant user can initiate login, but FSI Server's groupMapping only grants connector permissions to users who belong to the mapped security groups. Users without an assigned group see no connectors (access denied).
  • Alternative Option for Free (Manual Per-User Assignment):
    1. Set Assignment required? to Yes.
    2. Under Users and groups, add every authorized employee individually as a user.

Scenario B: With Entra ID P1 / P2 (Enterprise Standard)​

  1. Under Properties, set Assignment required? to Yes.
    • Any unauthorized tenant user is stopped at the Microsoft login prompt with error AADSTS50105.
  2. Under Users and groups → Add user/group, assign the connector security groups:
    • FSI-Connector-Marketing
    • FSI-Connector-Products
    • FSI-Connector-Archive
    • FSI-Administrators

Additional P1 / P2 Security Features:​

  • Conditional Access (P1 / P2): Under Protection → Conditional Access, create a policy targeting the FSI Server Cloud App to enforce:
    • Multi-Factor Authentication (MFA).
    • Managed / Compliant devices (Intune compliant or Hybrid Azure AD Joined).
  • Risk-Based Protection (P2 only): Automatically block sign-ins or prompt for secure password resets if Microsoft Identity Protection flags a user or session risk.
  • PIM & Access Reviews (P2 only): Enforce periodic access recertification for sensitive archive access.

FSI Server Configuration (settings.yml)​

Configure the OIDC authentication module in settings.yml (located in the FSI Server configuration directory, e.g., /etc/fsi/fsi-server/config/settings.yml).

The example below shows all parameters, highlighting mandatory settings and default values:

settings.yml
authentication:
authModules:
- type: "oidc" # Mandatory: Module type
enabled: true # Default: true
name: "Microsoft Entra ID (SSO)" # Display label on login button
provider: "entra" # Provider identifier

# 1. Credentials from Entra ID App Registration (Steps 3 & 5)
clientId: "00000000-0000-0000-0000-000000000000" # Mandatory: Application (client) ID
clientSecret: "your-client-secret-value-from-azure" # Mandatory: Client secret value

# 2. Issuer URL (Endpoints are automatically discovered via .well-known/openid-configuration)
# Mandatory: Replace with your Tenant ID; must end with /v2.0
issuerUrl: "https://login.microsoftonline.com/11111111-2222-3333-4444-555555555555/v2.0"

# 3. Redirect URI
# Default: Uses base request URL if omitted.
# Recommendation: Specify explicitly with [IP_ADDRESS] to match Entra ID registration.
redirectUri: "https://[IP_ADDRESS]/fsi/interface/"

# 4. Token Claims
usernameClaim: "preferred_username" # Default: "preferred_username"
groupsClaim: "groups" # Default: "groups"

# 5. User Provisioning & Session Mode
autoProvision: true # Default: true (provisions user upon first SSO login)

# 6. Group Mapping: Map Entra ID Object IDs (GUIDs) to FSI Server Groups
# Note: FSI Server groups must correspond to the group names
groupMapping:
# Full Administrator (Access to server settings & all connectors)
"44444444-dddd-eeee-ffff-444444444444": "administrators"

# Marketing Team (Mapped to marketing connector)
"11111111-aaaa-bbbb-cccc-111111111111": "marketing"

# Products Team (Mapped to product catalog connector)
"22222222-bbbb-cccc-dddd-222222222222": "products"

# Archive Team (Mapped to internal archive connector)
"33333333-cccc-dddd-eeee-333333333333": "archive"

# Optional: File-based XML authentication module as local administrative fallback
- type: "file"
enabled: true

Troubleshooting & Common Issues​

Error Code / SymptomPotential Root Cause by License PlanResolution
AADSTS50011: The reply URL specified... does not matchApplies to all tiers: Mismatch in trailing slash.Ensure https://<domain>/fsi/interface/ has the exact same trailing slash in both Entra ID and settings.yml.
AADSTS9002326: Cross-origin token redemption...Applies to all tiers: Registered as SPA instead of Web.Under Authentication in Entra ID, delete the SPA configuration and add the Web platform.
AADSTS50105: ...block users unless they are specifically granted accessTriggered when Assignment required = Yes is active.With P1/P2: Assign the user's security group under Users and groups.
With Free: Either assign the user individually or set Assignment required to No.
License error when assigning a group to the Enterprise AppEntra ID Free limitation: Group assignment requires P1 or P2.Upgrade to P1, assign users individually, or set Assignment required to No (security is enforced by FSI Server's groupMapping).
Token missing groups (Group overage claim / _claim_names)User belongs to >200 groups (common in large tenants without P1/P2 filtering).On P1/P2, configure the group claim to emit Groups assigned to the application. On Free, keep the user's total group count under 200.
User logs in successfully but sees no connectors1. Group GUID in groupMapping is incorrect.
2. Claim groups is missing from ID token.
3. FSI Server group name does not match groupMapping.
1. Cross-reference group GUIDs between Entra ID and settings.yml.
2. Verify that the ID token checkbox is selected under Token configuration.
3. Verify group names match between groupMapping and defined group names.