Guide to Using Offline Capability of Entra ID and OIDC Fabric to secure long lived sessions

Prev Next

Overview

This guide demonstrates how to test long-lived sessions for proxy app type user flows using the with the new offline option in Entra ID and OIDC Identity Fabric. The test validates that user attribute changes trigger appropriate authorization decisions during active sessions, ensuring that policy rules are enforced dynamically.

Purpose

Verify that when user attributes change during an active session, the Maverics platform correctly updates headers, revokes or grants access based on updated policy evaluations, rather than relying solely on initial authentication attributes. This ensures continuous security enforcement in long-lived sessions.

Prerequisites

Before beginning this test, ensure you have:

  • Maverics Orchestrator deployed and running

  • Admin access to Entra ID or OIDC based Identity Provider with the priveledge to modify a test user properties  

  • A test proxy application configured


Test Procedure

Step 1: Configure the Entra ID OIDC or Generic OIDC Identity Fabric

Set up your test configuration with the following parameters:

Identity Fabric Configuration:

  • Configure Entra ID or an OIDC based identity provider

  • Enable offline access capability

Proxy User Flow Policy Configuration:

  • Create an Access policy for a location in your proxy app.

  • Set the Authentication policy to use your Entra ID or OIDC fabric

  • Set the Authorization policy to Use rule to define access

  • Set rule to grants access when a specific value for an attribute will be on the Entra session. (eg. the user's first_name equals Allan)

  • Set the policy duration lifetime to 10 seconds (for testing purposes)

  • Publish your Deployment

Deploy and Test
This will a take little over an about an hour given Entra ID's minimum access token lifetime refresh interval is 1 hour.

  1. Access your proxy application

  2. Sign in using Entra ID credentials (using a test user)

  3. Verify successful authentication and session establishment by clicking around your app

Step 3: Modify User Attributes

While the session remains active:

  1. Navigate to Entra ID user management

  2. Locate the test user and edit the properties

  3. Change the attribute used in the policy decision (e.g. user's first_name)

  4. Save the attribute changes

  5. Note the time of modification

Note: This attribute change should trigger the policy rule to deny access since the first name no longer matches "Allen".

Step 4: Wait for Token Refresh then verify Authorization Enforcement

  • Wait for one hour to allow the access token to refresh

  • During this period, the session will continue using the existing token

After the one-hour waiting period:

  1. Attempt to access the proxy application with the existing session

  2. To verify that the updated user attributes have been retrieved, confirm that access is denied based on the policy rule

  3. You can also check Orchestrator logs to verify policy evaluation occurred with updated attributes

Expected Result: Access should be denied because the user's name no longer satisfies the policy rule.

Important Considerations

⚠️ Critical Test Requirements:

  • User attributes must be changed while the session is still active to properly test dynamic authorization

  • The test user must have an active session before attribute modification

  • Entra ID enforces a minimum one-hour access token refresh rate - this cannot be shortened

⚠️ Configuration Notes:

  • The 10-second policy duration is for testing purposes only

  • Production environments should use appropriate policy duration values based on security requirements

  • Ensure offline is configured in your Entra ID or OIDC based identity fabric


Reference

Video Walkthrough:
Loom Recording - Testing Long-Lived Sessions

Securing Long Lived Sessions Tutorial

Related Documentation:


Troubleshooting

If the test does not produce expected results:

Session not terminating after attribute change

  • Verify the policy duration has elapsed

  • Confirm the token refresh has occurred (check Orchestrator logs)

Access still granted with changed attributes

  • Verify the policy rule syntax is correct

  • Check that the attribute name matches exactly in the policy

  • Confirm the OIDC connector is retrieving updated user info during token refresh


Related Articles