You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -141,6 +159,249 @@ The Azure Pipeline (`azure-pipelines-deploy-jobs.yml`) deploys using:
141
159
-adoRepositoryName $(AdoRepositoryName)
142
160
```
143
161
162
+
## EntraID Authentication Setup
163
+
164
+
The application supports **optional** Microsoft EntraID (Azure AD) authentication using **OpenID Connect** (via NextAuth.js). This provides enterprise single sign-on (SSO) with your organization's Microsoft accounts.
165
+
166
+
**Important**: This implementation uses standard OpenID Connect flow, NOT Azure App Service Easy Auth. Users can always access the login page - authentication only occurs when they click "Sign in with Microsoft".
167
+
168
+
### Authentication Modes
169
+
170
+
Three authentication modes are supported:
171
+
172
+
1. **Password Only** (default): Traditional password-based login
173
+
2. **EntraID Only**: Microsoft SSO authentication via OpenID Connect, password login disabled
174
+
3. **Dual Mode**: Users can choose between password or Microsoft SSO
175
+
176
+
### EntraID Prerequisites
177
+
178
+
Before enabling EntraID authentication:
179
+
180
+
1. **Azure AD App Registration**
181
+
2. **User access to Azure AD tenant**
182
+
3. **Optional**: Azure AD security groups for access control
183
+
184
+
### Step 1: Create Azure AD App Registration
185
+
186
+
1. Navigate to [Azure Portal](https://portal.azure.com) → **Azure Active Directory** → **App registrations**
187
+
2. Click **New registration**
188
+
3. Configure:
189
+
- **Name**: `Data Model Viewer - {environment}` (e.g., `Data Model Viewer - Production`)
190
+
- **Supported account types**: `Accounts in this organizational directory only (Single tenant)`
5. **IMPORTANT**: Copy the **Value** (not the Secret ID) immediately - it won't be shown again
209
+
6. Save this value securely - you'll use it in the deployment
210
+
211
+
**Alternative (Preview)**: Azure supports using a managed identity with federated credentials instead of a client secret. This approach is currently in preview and requires additional setup. For production deployments, the client secret approach is recommended. See Microsoft's documentation on [using a managed identity instead of a secret](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-configuration%2Cworkforce-tenant#use-a-managed-identity-instead-of-a-secret-preview) if interested.
212
+
213
+
### Step 3: Configure App Registration API Permissions
214
+
215
+
1. In your App Registration, go to **API permissions**
Copy file name to clipboardExpand all lines: README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,9 @@
8
8
</a>
9
9
</p>
10
10
11
+
> [!NOTE]
12
+
> The README is slowly being moved to [Git Wiki](https://github.com/delegateas/DataModelViewer/wiki). Newer features are documented in the wiki whilst older ones are documented in this Readme.
0 commit comments