Lowcoder Documentation
  • Lowcoder overview
    • The "Hello World" walk
  • 🆕Setup and run
    • Cloud & Private Cloud
    • Self-hosting
      • Google Cloud Platform
      • Easypanel
      • Heroku
      • Raspberry Pi
      • Access local database or API
      • Update MongoDB Versions
      • Lowcoder Version Update
      • Traefik loadbalancer
      • SMTP Server
      • Migration from Openblocks
    • Security
  • 🏨Workspaces & Teamwork
    • Workspaces
      • SAAS Mode
      • Enterprise Mode
    • Members and Groups
    • Permissions for Resources
    • OAuth
      • KeyCloak
      • Google
      • GitHub
      • Generic OAuth Provider
    • Query library
    • Lowcoder Marketplace
  • ✨Build Applications
    • Create a new App
      • App(s) Navigation
      • Modules
      • Version and Release Management
    • App Editor
      • Query & Editing Roundtrips
      • Bulk Editing
      • Keyboard shortcuts
      • Data selection & Javascript
      • Layers
      • Visual Components
        • Common Component Settings
        • Messages / Toast
        • Dashboard & Reporting
          • Table
          • Charts and graphs
            • Bar Chart
            • Line Chart
            • Pie Chart
            • Scatter Chart
            • CandleStick Chart
            • Funnel Chart
            • Gauge Chart
            • Graph Chart
            • Heatmap Chart
            • Radar Chart
            • Sankey Chart
            • Suburst Chart
            • Theme River Chart
            • Tree Chart
            • Treemap Chart
            • Mermaid Chart
          • Google Maps
        • Layout & Navigation
          • List View
          • Drawer
          • Modal
          • Navigation
          • Cascader
          • Tree / Tree Select
          • Link
          • Floating Button
          • Text
          • Step Control
          • Page Layout
          • Content Card
          • Tabbed Container
        • Data Collection & Forms
          • Form
          • Input Field Types
          • JSON Schema Form
        • Meeting & Collaboration
        • Project Management
        • Calendar & Scheduling
          • Calendar
          • Date & Date Range
          • Time & Time Range
        • Document & File Management
          • File upload
        • Item & Signature Handling
        • Multimedia & Animation
          • Image
        • Integration & Extension
        • Legacy & Deprecated
      • Option lists
      • Date handling
      • Use Markdown
    • App Interaction
      • Event handlers
    • Themes & Styling
      • Design an efficient and user-friendly form
      • Customize Styles
      • Component Styling Possibilities
    • Video Calls in Lowcoder
  • 🚀Connect your Data
    • Data source basics
      • Configure IP allowlists
    • Data sources in Lowcoder
      • APIs as Datasource
        • REST API
        • GraphQL
        • Google Sheets
      • SQL Databases
        • MySQL
        • MariaDB
        • Supabase
          • Supabase PostgreSQL
          • Supabase Assets API
          • Supabase RealTime
          • Supabase OAuth
        • PostgreSQL
        • Microsoft SQL Server
        • Oracle
      • NoSQL Databases
        • MongoDB
        • CouchDB
        • DynamoDB
      • InMemory Databases
        • Redis
      • File Storages
        • S3 File Storage
      • BigData & OLAP
        • Big Query
        • Snowflake
        • ClickHouse
        • Elasticsearch
      • Websocket Datasource
    • Query basics
      • Bind Query Data to Components
      • Query library
  • 🪄Workflows
    • n8n Integration
  • đź’«Business Logic in Apps
    • Write JavaScript
      • JavaScript query
      • Temporary state
      • Transformers
      • Data responder
      • Built-in JS functions
  • 🙌Publish Apps
    • Share an App
    • Publish an App
    • Embed an App
      • Embed App in HTML Pages
      • Embed App in WordPress Pages
      • Embed Apps in React
      • Embed Apps in NEXT.JS
      • Native embed SDK
        • Build the SDK from Source
  • 🔥Lowcoder Extension
    • Opensource Contribution
      • Develop UI components for Apps
      • Develop Data Source Plugins
    • Use third-party libraries in Apps
      • Day.js Date handling
      • Import your own JavaScript Library
    • Custom component
    • Lowcoder Open REST API
  • Lowcoder for Enterprise
    • Custom branding
Powered by GitBook
On this page
  • Setup a generic OAuth provider
  • .well_known URI
  • Popular Services
  • Popular IDMs that you can self-host
  • OAuth Source Meta-Data
  • OAuth Configuration
  • Provider-Side Configuration
  • OAuth Data Mapping

Was this helpful?

  1. 🏨Workspaces & Teamwork
  2. OAuth

Generic OAuth Provider

PreviousGitHubNextQuery library

Last updated 7 months ago

Was this helpful?

LogoLogo

More to try...

  • Lowcoder Website
  • Free Cloud Platform
  • Github
  • Discord

© Lowcoder Software LTD

Since Lowcoder v2.4.0, a generic OAuth Provider has been introduced. The goal is to cover as many OAuth providers as possible without special implementation but give you, as an Admin, the freedom to connect to any OAuth Provider using a flexible configuration.

As communicated and voted by the community, we introduced the functionality in v2.4.0 but are still optimizing it, based on your feedback. Latest by Lowcoder v2.5.x this function is stable. (We expect anyhow already before that version a stable function of it.)

OAuth Providers are configured individually per Workspace.

The configuration has three parts:

  • Meta-Data

  • OAuth Provider Configuration

  • Information Mapping

Setup a generic OAuth provider

As the Admin of your Workspace, go to Settings > User Authentication. Here, you will find a List of your configured User Authentication Providers.

Now, you can use the button in the upper right corner to add a new OAuth Provider. Select "Generic".

.well_known URI

The .well-known/openid-configuration URI is specifically part of the OpenID Connect (OIDC) standard. If a provider supports OpenID Connect, this endpoint provides a JSON document with the configuration details for OAuth and OIDC operations. Lowcoder will try to use this configuration data and will fill out the standard OAuth Provider Configuration fields as well as possible in the next screens of the Generic OAuth Provider Configurator.

Popular Services

Here are some popular services and their OpenID configuration Endpoints

Google

https://accounts.google.com/.well-known/openid-configuration

Facebook

https://www.facebook.com/.well-known/openid-configuration

Microsoft

https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration

LinkedIn

https://www.linkedin.com/oauth/.well-known/openid-configuration

Apple

https://appleid.apple.com/.well-known/openid-configuration

Amazon Cognito

https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/openid-configuration

Salesforce

https://login.salesforce.com/.well-known/openid-configuration

Dropbox

https://www.dropbox.com/.well-known/openid-configuration

PayPal

https://www.paypal.com/.well-known/openid-configuration

Slack

https://slack.com/.well-known/openid-configuration

Popular IDMs that you can self-host

Keycloak

https://{yourKeycloakDomain}/auth/realms/{yourRealm}/.well-known/openid-configuration

Okta

// Self-Host
https://{yourOktaDomain}/.well-known/openid-configuration
// Cloud (domain depends on the region)
https://{yourApp}.okta-emea.com/.well-known/openid-configuration

Auth0

// Self-Host
https://{yourAuth0Domain}/.well-known/openid-configuration
// Cloud
https://{yourApp}.auth0.com/.well-known/openid-configuration

Ory

// Self-Host
https://{yourOryHydraDomain}/.well-known/openid-configuration
// Cloud
https://{yourApp}.projects.oryapis.com/.well-known/openid-configuration

Authentik

https://{yourAuthentikDomain}/application/o/.well-known/openid-configuration

IBM Security Access Manager (ISAM)

https://{yourISAMDomain}/mga/sps/oauth/oauth20/.well-known/openid-configuration

OAuth Source Meta-Data

Meta Data describes the Auth Source, allowing you to influence the visual representation of the OAuth Provider in the Sign In / Sign Up screen.

In Lowcoder v2.4.0 you must set the field "Source" to GENERIC

From Lowcoder v2.4.1, the field "Source" will be hidden and filled out automatically.

OAuth Configuration

In Step 2, you can now set up the configuration Data for your OAuth Provider. We introduced this in v2.4.0, and the screen will surely be extended with features in the upcoming versions.

Scopes must be set with a space character between the scopes, not comma-separated.

Some providers do only support OAuth - but not (yet?) OpenID. This means that the User Introspection Endpoints /userinfo are not available. For this case you can activate or deactivate this Introspection. (This function comes into effect at Lowcoder v2.4.1)

Provider-Side Configuration

At your IDM you would need to prepare an OAuth Client resp. a OAuth Client Application. There are multiple settings.

  • Redirect URL. Here you enter your domain (origin) of your installation like http://localhost:3000 or https://app.lowcoder.cloud and add the path: {origin}/user/auth/oauth/redirect

  • Scopes: You should set the following Scopes if possible. offline_access and profile are important.

    • openid

    • offline_access

    • email

    • profile

  • Supported OAuth2 flows: To handle User-Logins you need to activate the Authorization Code Flow. Also you may need to activate the Refresh Token possibility.

  • Client authentication mechanism: Here, you can set HTTP Body

OAuth Data Mapping

We introduce the possibility of mapping Data from OAuth providers to Lowcoder. We just started it in v2.4.0, and in this version, we enabled 4 attributes.

  • UID (The User-ID in the IDM System)

  • Email (The Email Address of the User in the IDM System)

  • Username (The Name of the User)

  • Avatar (The profile picture of the User)

The second screen shows how the Avatar and Username come into effect after the Mapping.

In v2.4.0 we support mapping out of the JWT (access_token) from the IDM. In future versions, we will also support the mapping of Attributes from the OpenID /userInfo endpoint.

In future versions of Lowcoder, we will also support Attribute Matching of Token Claims to User Groups and Roles.

Overview of configured Aouth Providers for your Workspace
Enter your Well Known URI to auto-fill the configuration in Step 2
Enter a Displayed Name, Category, Icon and a Description
OData Mapping