Skip to main content

Application Management

The Application Management section allows administrators to register and configure OAuth clients (applications) that can authenticate with S-Auth.

Application List

Navigate to Applications to see all registered OAuth clients.

Application Information

FieldDescription
NameHuman-readable application name
Client IDUnique identifier for OAuth
TypeConfidential or Public
LogoEmoji displayed in Launchpad
PublicWhether visible to all users
CreatedRegistration date

Creating an Application

  1. Click New Application button
  2. Fill in the required fields:
FieldRequiredDescription
NameYesDisplay name (e.g., "My App")
DescriptionNoBrief description
Redirect URIsYesCallback URLs (one per line)
Client TypeYesConfidential or Public
Allowed GrantsYesWhich OAuth flows to allow
Allowed ScopesYesWhich scopes the app can request
Logo EmojiNoEmoji for Launchpad (default: lock)
Public AppNoShow in Launchpad for all users
  1. Click Create Application

Client Credentials

After creation, you'll receive:

  • Client ID: abc123... (safe to share)
  • Client Secret: scs_xyz... (keep secure!)
warning

The client secret is only shown once. Save it immediately!

Redirect URIs

Redirect URIs are the URLs where S-Auth will send users after authentication.

Rules

  • Must be exact matches (no wildcards)
  • Multiple URIs can be specified (one per line)
  • HTTPS required in production
  • localhost and 127.0.0.1 allowed for development

Examples

https://myapp.com/callback
https://myapp.com/auth/callback
http://localhost:3000/callback

Client Types

Confidential Clients

  • Can securely store a client secret
  • Server-side web applications
  • Backend services
  • Use client_secret for authentication

Public Clients

  • Cannot securely store secrets
  • Single Page Applications (SPAs)
  • Mobile applications
  • Desktop applications
  • Must use PKCE for security

Allowed Grants

Select which OAuth flows the application can use:

Grant TypeDescriptionTypical Use
authorization_codeStandard OAuth flowWeb apps
refresh_tokenRenew access tokensLong sessions
client_credentialsMachine-to-machineBackend services

Web Application (Confidential):

  • authorization_code
  • refresh_token

Single Page App (Public):

  • authorization_code (with PKCE)
  • refresh_token

Backend Service:

  • client_credentials

Allowed Scopes

Control what user data the application can access:

ScopeData Included
openidRequired for OIDC
profilename, user_id
emailemail address

Editing an Application

  1. Click on an application, or click the Edit action
  2. Modify the configuration
  3. Click Save Changes

Editable Fields

  • Name and description
  • Redirect URIs
  • Allowed grants and scopes
  • Logo emoji
  • Public visibility

Not Editable

  • Client ID
  • Client type (confidential/public)

Regenerating Client Secret

If a client secret is compromised:

  1. Edit the application
  2. Click Regenerate Secret
  3. Confirm the action
  4. Update your application with the new secret
warning

Regenerating the secret immediately invalidates the old one. Your application will stop working until updated.

Public Applications

Public applications appear in the Launchpad for all users.

When to Use

  • Company-wide tools
  • Shared family applications
  • General-purpose utilities

How to Enable

  1. Edit the application
  2. Check Public Application
  3. Save changes

Logo Emoji

The logo emoji is displayed in the Launchpad application grid.

Choosing an Emoji

  • Use a relevant emoji that represents the app
  • Common choices: tool icons, activity symbols
  • Default: 🔒 (lock)

Examples

App TypeSuggested Emojis
Dashboard📊 📈 🎛️
Media🎬 📺 🎵
Documents📄 📁 📝
Communication💬 📧 📱
Gaming🎮 🎲 🎯
Development💻 🔧 ⚙️

Deleting an Application

danger

Deleting an application is permanent and will immediately break any clients using it.

  1. Click Delete action
  2. Confirm the deletion

What Gets Deleted

  • Application registration
  • Client ID and secret (invalidated)
  • All active tokens for this client
  • All authorization codes

What Happens to Users

  • Users are logged out of the application
  • They cannot re-authenticate until a new client is registered

Best Practices

  1. Use descriptive names - Make it clear what each app does
  2. Limit scopes - Only request the scopes you actually need
  3. Separate environments - Create different clients for dev/staging/prod
  4. Rotate secrets periodically - Regenerate client secrets every few months
  5. Review regularly - Remove applications that are no longer in use
  6. Use PKCE for public clients - Always enable PKCE for SPAs and mobile apps