Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On-prem docs #245

Open
wants to merge 4 commits into
base: vNext
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions en/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"spa-and-navigation/**.md",
"using-data-in-your-app/**.md",
"ui-kits/**.md",
"on-premises/**.md",
"toolbox/**.md",
"how-to/**.md",
"sidebar-toc/toc.yml",
Expand Down
5 changes: 5 additions & 0 deletions en/on-prem-prerequisites-and-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ docker run --restart always -p 80:5000 -e "ConnectionStrings:Provider=SqlServer"
<img class="box-shadow" src="./images/docker-apps.png" />
<p style="margin-top:-20px;text-align:center;">Docker Containers/Apps</p>

### Authentication with OpenID Connect (OAuth 2.0)

Follow the [On-Prem Authentication with OpenID Connect (OAuth 2.0)](on-premises/auth-with-openid-connect-o-auth.md) topic for more information.

### Updates

1 - Follow the first 4 steps of the first time installation with the newly published zip file
Expand Down Expand Up @@ -163,6 +167,7 @@ Docker Desktop on Windows is not starting automatically without Login to Windows
## Additional Resources
<div class="divider--half"></div>

* [On-Prem Authentication with OpenID Connect](on-premises/auth-with-openid-connect-o-auth.md)
* [App Builder Interface Overview](interface-overview.md)
* [Single Page And Navigation](single-page-apps-and-navigation.md)
* [App Builder Components](indigo-design-app-builder-components.md)
Expand Down
51 changes: 51 additions & 0 deletions en/on-premises/auth-with-openid-connect-o-auth.md
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)
88 changes: 88 additions & 0 deletions en/on-premises/configuration-flags.md
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)
10 changes: 7 additions & 3 deletions en/sidebar-toc/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@
items:
- name: On-premises prerequisites and installation
href: ../on-prem-prerequisites-and-installation.md
updated: true
- name: Auth with OpenID Connect
href: ../on-premises/auth-with-openid-connect-o-auth.md
new: true
- name: Configuration flags for On-prem and SDK
href: ../on-premises/configuration-flags.md
new: true
- name: Running Desktop App
href: ../running-desktop-app.md
- name: Share, Preview and Edit apps
Expand All @@ -21,9 +28,6 @@
- name: Figma
href: ../ui-kits/figma.md
new: false
#name: Adobe XD
#href: ../ui-kits/adobe-xd.md
#new: false
- name: Sketch
href: ../ui-kits/sketch.md
new: false
Expand Down
1 change: 1 addition & 0 deletions jp/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"spa-and-navigation/**.md",
"using-data-in-your-app/**.md",
"ui-kits/**.md",
"on-premises/**.md",
"toolbox/**.md",
"how-to/**.md",
"sidebar-toc/toc.yml",
Expand Down