-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #246 from IgniteUI/vNext
Promote new on-premise topics to production
- Loading branch information
Showing
8 changed files
with
166 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# On-Prem Authentication with OpenID Connect (OAuth 2.0) | ||
|
||
This document aims to provide configuration instructions on how to configure custom authentication providers for the App Builder on-premise instance by using OpenID Connect server supporting OAuth 2.0 CODE authorization flow with PKCE. | ||
|
||
The guide includes: | ||
|
||
- Required OIDC client settings. | ||
- Configuration settings specific to App Builder. | ||
- Additional options such as oidc_scope and oidc_redirect_uri. | ||
|
||
## Settings for the OIDC Client | ||
|
||
- OAuth2 Flow: Authorization Code + PKCE | ||
- Refresh tokens enabled (`offline_access` scope), | ||
- Access token lifetime: (suggested 600 seconds) | ||
- Refresh token lifetime: sliding window recommended with a minimum of 1 hour (24hs recommended) and max life determined by the organization or unlimited). | ||
- Include User claims in Id Token (there are two required standard claims: "sub" & "email" and two optional custom claims "given_name" & "family_name") | ||
- Required scopes: openid email profile offline_access appbuilder.user | ||
- Audience: "appbuilder" (default) | ||
- Sign in redirect uri: <app builder host>/oidc/ig/callback | ||
- Post logout url: <app builder host>/oidc/ig/callback-postlogout | ||
|
||
## Settings for App Builder | ||
|
||
### Required configuration settings | ||
- AuthSettings__SkipAuth: false | ||
- AuthSettings__Authority: _OpenId server URL_ | ||
- AuthSettings__ClientId: _OpenId Client Id_ | ||
- AuthSettings__AccountIssuer: _Server Unique Alias_ | ||
|
||
### Other options | ||
- oidc_scope: 'openid email offline_access profile appbuilder.user' (default) | ||
- oidc_redirect_uri: '/oidc/ig/callback', (default) | ||
- oidc_post_logout_redirect_uri: /oidc/ig/callback-postlogout' (default) | ||
- AuthSettings:Audience: "appbuilder" (default) | ||
|
||
> [!NOTE] | ||
> To use the OIDC auth you need to set the FrontendOptions_SkipAuth setting to false. | ||
After setting up your OIDC client you’ll need to pass 3 required properties to App Builder docker container as environment variables: | ||
|
||
e.g. | ||
```sh | ||
docker run --restart always -p 80:5000 -e ConnectionStrings__Provider=SqlServer -e "ConnectionStrings:...." -e AuthSettings__SkipAuth=false -e AuthSettings__Authority="https://my-auth-server.example.com" -e AuthSettings__ClientId="1234-4657-00" -e AuthSettings__AccountIssuer="MyAuth" -v "C:\ProgramData\Infragistics\Appbuilder\logs:/appbuilder/logs" -v "C:\ProgramData\Infragistics\Appbuilder\storage:/appbuilder/storage" --name appbuilder appbuilder:1.0 | ||
``` | ||
|
||
## Additional Resources | ||
<div class="divider--half"></div> | ||
|
||
* [On-prem Prerequisites and Installation Overview](../on-prem-prerequisites-and-installation.md) | ||
* [App Builder Interface Overview](../interface-overview.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# Configuration flags upon On-Prem and SDK deployment | ||
|
||
This document is outlining the available configuration flags for deploying and managing the App Builder on-premise instance. This document should provide examples of key environment variables, such as: | ||
|
||
```sh | ||
docker run --restart always -p 80:5000 -e AuthSettings__ClientId="1234-4657-00" | ||
``` | ||
|
||
## Configurable properties | ||
|
||
### Through environment.ts (part of App Builder SDK context) | ||
|
||
``` | ||
// Configuration Property Explanations: | ||
- favicon: '/favicon_dev.ico', // Enables you to set your own favicon | ||
- disableSurvey: false, // Disables App Builder surveys | ||
- enableLibrariesManagement: false, // Shows/hides the dropdown for library management | ||
- disablePublishToGithub: false, // Disables/enables the "Publish to GitHub" button | ||
- disableFeedback: false, // Toggles Feedback dialog visibility | ||
- showOnboardingVideos: false, // Toggles the onboarding YouTube videos | ||
- toggleableDatasourceTags: false, // Toggles the visibility of data source color tags | ||
- hideMainMenu: false, // Toggles the visibility of the Application Shell Main Menu | ||
- personalWorkspaceLabel: 'myProjects', // Sets the label value for the personal workspace | ||
- disableCodegen: false, // Toggles the usage of the Codegeneration service | ||
- hideSharingOptions: false, // Toggles the visibility of sharing options in the UI | ||
- hideHelpResources: false, // Hides help resources in the interface | ||
- hideAppBuilderLogo: false, // Hides the App Builder logo | ||
- disableQuickTips: false, // Disables Quick tips | ||
- hideMockDataSources: false, // Hides mock data sources from the UI | ||
- hideVerbPills: false, // Hides HTTP verb pills in API-related features | ||
- useSummaryForOperationName: false, // Uses a summary instead of a full name for operation names | ||
- showObjectDatasources: false, // Enables support for object-based datasources (limited use case) | ||
- hideDesktopApp: false, // Hides desktop app-related options in the UI | ||
- hideAccountMenu: false, // Hides the account menu from the UI | ||
- hideExperimentalGenerators: [], // Specifies frameworks to hide from code export (e.g., [{ platform: Platform.react }]) | ||
- disableMockDataUponFailedEndpoint: false, // Prevents mock data from being used if an endpoint fails | ||
- disableAI: false, // Disables AI-related features | ||
- enableCssGridLayout: true, // Enables the CSS Grid layout feature | ||
- showPreviewInvite: true, // Shows preview invites for collaborative features | ||
// Theme Properties: | ||
appTheme: { | ||
schema: 'light-bootstrap-schema', // Defines the base theme schema | ||
colors: { | ||
primary: '#2D8DFF', // Primary color used throughout the application | ||
secondary: '#2D8DFF', // Secondary color | ||
surface: '#F1F7FF', | ||
success: '#31AB2B', // Success indicator color | ||
warn: '#F2C200', // Warning indicator color | ||
error: '#DB372A', // Error indicator color | ||
info: '#0678FF', // Info indicator color | ||
grays: '#2F2F2F', | ||
}, | ||
typeface: 'Public Sans', // Default font for the application | ||
fonts: [], // Additional font families | ||
scale: 'bootstrap-type-scale', | ||
roundness: 0.3, // Corner roundness | ||
elevation: null, // Elevation (shadows), if applicable | ||
}, | ||
shellTheme: { | ||
typeface: 'Public Sans', // Font used in the application shell | ||
colors: { | ||
primary: '#2D8DFF', // Primary color | ||
grays: '#9A9DA2', | ||
success: '#31AB2B', // Success indicator color | ||
warn: '#F2C200', // Warning color | ||
error: '#DB372A', // Error color | ||
aux1: '#068E6B', | ||
aux2: '#9C27B0', | ||
}, | ||
} | ||
``` | ||
|
||
### Through a parameter in a docker run command (On-prem context) | ||
|
||
```sh | ||
docker run --restart always -p 80:5000 -e AuthSettings__ClientId="1234-4657-00" | ||
``` | ||
|
||
## Additional Resources | ||
<div class="divider--half"></div> | ||
|
||
* [Auth with openid connect](auth-with-openid-connect-o-auth.md) | ||
* [On-prem Prerequisites and Installation Overview](../on-prem-prerequisites-and-installation.md) | ||
* [App Builder Interface Overview](../interface-overview.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters