Skip to main content

App management

Overview

App management in cidaas provides a central place to configure and manage OAuth2/OIDC clients. These clients may represent portals, mobile applications, backend services, or third-party clients.

cidaas implements OAuth2 and OpenID Connect (OIDC), ensuring secure, standards-based authentication and authorization for all applications.

Prerequisites

Before creating an app in cidaas, ensure the following:

  • Access to the cidaas Admin UI with App Management permissions.
  • Redirect URLs and logout URLs are prepared.
  • Required scopes and API resources are already created.
  • Hosted page group or login providers are configured (if needed).
  • Company details such as Terms & Conditions and Privacy Policy URLs are available.
  • For mobile apps: package name / bundle ID and redirect scheme are ready.

Key benefits

  1. Standardized and secure authentication using OAuth2/OIDC.
  2. Centralized permission and scope management for all apps.
  3. Separation of authentication from applications, with cidaas acting as the authorization server.

Note
App settings define the authentication behavior, UI customization, system rules, permissions, and required user information for an application.

App-overview

App details


SettingDescriptionMore information
App nameInternal name displayed in the app overview.
App display nameShown on hosted pages during login and registration.Hosted Pages Management
App logo URLLogo displayed on overview and hosted pages.Hosted Pages Management
Logo positionSets alignment of the logo (left, center, right).Hosted Pages Management
Login form positionAligns the login form on hosted pages.Hosted Pages Management
Media typeSelects image or video for background.
App background URLPublic URL of the custom background.Hosted Pages Management
App primary colorPrimary accent used in UI elements.Hosted Pages Management
App accent colorSecondary highlight color.Hosted Pages Management
App typeDetermines available configuration options.See application types

Application Types Overview

cidaas supports several application types, each designed for specific use cases and platforms. The application type you choose determines:

  • Which OAuth2 flows are available
  • How redirect URIs are validated
  • Security requirements and best practices
  • User experience patterns
Application TypePrimary Use CaseKey Characteristics
Single Page Application (SPA)Modern browser-based apps (React, Vue, Angular)Dynamic content updates, no full page reloads
Regular Web AppTraditional server-rendered web applicationsServer-side rendering, backend can securely store secrets
AndroidNative Android mobile applicationsCustom URI schemes, package name validation
iOSNative iOS mobile applicationsCustom URI schemes, bundle ID validation
WindowsMicrosoft Windows applicationsWindows API integration
Non-Interactive ClientBackend services, machine-to-machineNo user interface, server-to-server communication
DeviceSmart TVs, IoT devices, limited input devicesQR code or URL + code authentication
Third PartyUntrusted external clientsRequires user consent for scopes

Single Page Application (SPA) vs Regular Web App

Single Page Application (SPA)

  • Architecture: Client-side JavaScript frameworks (React, Vue, Angular, etc.)
  • Rendering: Content updates dynamically without full page reloads
  • Security Model: Public client (cannot securely store client secrets)
  • Recommended Flow: Authorization Code Flow with PKCE
  • Redirect URI Validation: URLs using the https scheme
  • Example: React dashboard, Vue.js admin panel

Regular Web App

  • Architecture: Server-side rendering (PHP, Java, .NET, etc.)
  • Rendering: Full page reloads, server generates HTML
  • Security Model: Confidential client (backend can securely store client secrets)
  • Recommended Flow: Authorization Code Flow (with client secret)
  • Redirect URI Validation: URLs using the https scheme
  • Example: Traditional e-commerce site, corporate portal

Important: The Implicit Flow is deprecated by OAuth2.1. Always use Authorization Code Flow (with PKCE for SPAs) instead.

Android vs iOS vs Windows (Native Mobile Apps)

All three native application types share similar characteristics but differ in platform-specific requirements:

Common Characteristics:

  • Native applications running on mobile/desktop platforms
  • Cannot securely store client secrets (public clients)
  • Use custom URI schemes for redirects
  • Recommended Flow: Authorization Code Flow with PKCE

Platform-Specific Differences:

PlatformRedirect URI FormatValidation
AndroidCustom URI schemes (e.g., myapp://callback)Package name validation
iOSCustom URI schemes (e.g., myapp://callback)Bundle ID validation
WindowsCustom URI schemes ms-app://oauth/callbackWindows app package validation

Example Redirect URIs:

  • Android: com.myapp://oauth/callback
  • iOS: myapp://oauth/callback
  • Windows: ms-app://oauth/callback

Non-Interactive Client

Purpose: Machine-to-machine (M2M) communication, backend services, API-to-API calls

Key Characteristics:

  • No user interface
  • No user interaction required
  • Server-to-server communication
  • Can securely store client secrets
  • Recommended Flow: Client Credentials Flow
  • No Redirect URIs: Not applicable (no user redirects)

Use Cases:

  • Microservices communication
  • Scheduled jobs accessing APIs
  • Backend services calling other backend services
  • Automated data synchronization

Note: Non-interactive clients do not support user authentication flows, token conditions, or hosted pages since there is no user interaction.

Device (Limited Input Devices)

Purpose: Devices with limited or no input capabilities

Key Characteristics:

  • Limited keyboard/input capabilities
  • Examples: Smart TVs, gaming consoles, IoT devices, printers
  • Recommended Flow: Device Code Flow
  • Authentication Method: User authenticates on a separate device (phone/computer)
  • User Experience: QR code or URL + code displayed on device

How It Works:

  1. Device requests authorization and receives device_code and user_code
  2. Device displays QR code or URL + code to user
  3. User scans QR code or visits URL on their phone/computer
  4. User enters user_code and authenticates
  5. Device polls token endpoint until user completes authentication
  6. Device receives access token

Example Use Cases:

  • Smart TV apps
  • Gaming console applications
  • IoT devices (smart home hubs)
  • Printers with network access

Flow Selection Matrix

Application TypeRecommended FlowGrant TypeClient Secret Required?User Authentication?
Single Page AppAuthorization Code + PKCEauthorization_code❌ No✅ Yes
Regular Web AppAuthorization Codeauthorization_code✅ Yes✅ Yes
AndroidAuthorization Code + PKCEauthorization_code❌ No✅ Yes
iOSAuthorization Code + PKCEauthorization_code❌ No✅ Yes
WindowsAuthorization Code + PKCEauthorization_code❌ No✅ Yes
Non-InteractiveClient Credentialsclient_credentials✅ Yes❌ No
DeviceDevice Codeurn:ietf:params:oauth:grant-type:device_code❌ No✅ Yes
Third PartyAuthorization Code + PKCEauthorization_code❌ No✅ Yes

App settings

SettingDescription
Client IDUnique identifier generated during app creation.
Client secretSecret used in flows such as Client Credentials. See Client secret rotation.
ScopeDefines which resources and APIs the client can access.
Hosted page groupHosted page group used during login and registration.
Redirect URLsAllowed URLs for returning tokens or authorization codes.
Allowed logout URLsAllowed redirect URLs after logout.

Company details

SettingDescription
Company nameInternal reference name.
Company addressInternal reference address.
Website URLInternal reference website.
Terms and conditions URLDisplayed on hosted and profile pages.
Privacy policy URLDisplayed on hosted and profile pages.
Imprint URLDisplayed on hosted and profile pages.
DescriptionAdditional company-related information.

Advanced settings

CategoryDescriptionMore information
OAuth2/OIDC settingsConfigure grant types, response types, and flow options.OAuth2 basics and flows
Token settingsConfigure token expiry and add custom claims.Token settings
Consent managementEnsure that required consents are collected during login.Consent management
Login providersConfigure social, SAML, OAuth2, or AD login providers.Login provider
Registration fieldsFields required during registration and progressive profiling.Field settings
Allowed fieldsFields included during registration and token generation.
Required fieldsMandatory fields users must complete.
Communication medium verificationConfigure verification settings for email/SMS.Account verification
Password policy settingsEnforce password rules via password policies.Password policy
Template group settingsSelect notification template groups.Communication management
AuthenticationConfigure allowed authentication and MFA methods.Authentication process
Remember meKeeps the user logged in and enables SSO.
Success pageRedirect users to a custom success page after login.Success Information
Mobile settingsPlatform-specific settings for Android, iOS, and Windows apps.
Groups and role settingsRestrict login based on groups/roles or assign defaults.Permission management
Encryption settingsEnable JWE token encryption.
App custom fieldsAdd custom metadata fields to tokens.
Flow settingsConfigure auto login, social login behaviors, and allowed user identifiers.

Developer Reference

APIDescriptionLink
Create appCreates an app and provisions all clients automatically.View API
Update appUpdates an existing application.View API
Get app by client IDRetrieves an application by its Client ID.View API
Delete app by client IDDeletes an application.View API

Need help?

For assistance, visit our Support Portal.