Ultimate Guide For IDS Setup

:locked_with_key: IDS Setup for Production Apps — The Complete Walkthrough

Hey Neutrinos community! :waving_hand:

If you’ve been struggling with IDS (Identity Service) configuration — especially for production-based applications — this post is for you. I’ve put together everything you need, from registering your app all the way to wiring up standalone credentials and callback URIs. Let’s get into it! :rocket:


:compass: What We’re Covering

  • Registering your app with IDS

  • Frontend setup (environments + OAuth client)

  • Backend standalone credential config

  • Setting up login/logout callback URIs


STEP 1 — Register Your App with IDS :gear:

Head into your Neutrinos app settings and do the following:

:white_check_mark: Enable the IDS toggle — this activates identity service for your app

:white_check_mark: Add your Application Name — how your app identifies itself to IDS

:white_check_mark: Skip Team Check (optional) — turn this on if you want to allow external users to log in without going through Active Directory / team validation

:white_check_mark: Skip Consent (optional) — turn this on if your users already have an active IDS session and you want to skip the consent screen on re-login


STEP 2 — Frontend Setup :desktop_computer:

2a. Set the Environment Flag

In your app’s Environments config, add:

"isIDSEnabled": true


2b. Install the OAuth Client

npm i neutrinos-oauth-client


2c. Import It in onInit

Use a Dependency Node inside your onInit event to import neutrinos-oauth-client.

:warning: Don’t forget — the Injectable toggle must be ON, otherwise the module won’t be available across your pages!


2d. Use It Anywhere in Your Page

Once imported, you can call its methods freely. Here’s the basic login guard pattern most of us use:

if (!page.noc.isLoggedIn) {
  await page.noc.login("home")
}

Simple, clean, works great. :raising_hands:


:light_bulb: New to IDS? Before going further, complete the foundational setup from the official guide: :open_book: IDS Authentication Backend and Frontend Setup — Community / Training, Academy & Certifications Get that done first, then come back here for the production bits below :backhand_index_pointing_down:


STEP 3 — Production Config: Standalone IDS Credentials :key:

This is where most people get stuck. For production apps, you’re not using the shared platform IDS — you need to configure the standalone IDS credentials specific to your project.

There are two files you need to update in SSD:

What Where
config.ts server → src → config → config.ts
config.json designs → server → config.json

In both files, find the ids object and plug in your values:

config.ts

ids: {
  clientId: "YOUR_CLIENT_ID",
  secret: "YOUR_CLIENT_SECRET",
  issuerURL: "https://your-standalone-ids-url"
}

config.json

"ids": {
  "clientId": "YOUR_CLIENT_ID",
  "secret": "YOUR_CLIENT_SECRET",
  "issuerURL": "https://your-standalone-ids-url"
}

:pushpin: These credentials come from the standalone IDS instance created for your project — not the global Neutrinos platform IDS.


STEP 4 — Add Callback URIs in Your IDS Schema :link:

Almost there! Last step is registering your callback URLs inside your project’s IDS schema.

Where to find it: Go to the IDS schema created for your project → open the Client table → find the row for your clientId → add the URIs.

Add both localhost AND your production domain:

# Login Callback
http://localhost:<PORT>/login/cb
https://your-production-domain.com/login/cb

# Logout Callback  
http://localhost:<PORT>/logout/cb
https://your-production-domain.com/logout/cb

:warning: Replace <PORT> with your actual backend port (e.g. 3000, 8080) and the domain with wherever your IDS-configured backend is deployed.


:white_check_mark: Pre-Launch Checklist

Before you go live, run through this quick check:

Platform

  • [ ] IDS toggle ON

  • [ ] App name set

  • [ ] Skip Team Check / Skip Consent configured as needed

Frontend

  • [ ] isIDSEnabled: true in Environments

  • [ ] neutrinos-oauth-client installed

  • [ ] Dependency Node added in onInit

  • [ ] Injectable toggle ON

  • [ ] Login guard implemented on protected pages

Backend

  • [ ] clientId, secret, issuerURL set in config.ts

  • [ ] Same values set in config.json

IDS Schema

  • [ ] Login callback URIs added (localhost + production)

  • [ ] Logout callback URIs added (localhost + production)


:file_folder: Quick File Reference

designs/
└── server/
    └── config.json         ✏️ Add IDS credentials here

server/
└── src/
    └── config/
        └── config.ts       ✏️ Add IDS credentials here


That’s it! Hope this saves someone a few hours of digging around. :grinning_face_with_smiling_eyes:

If anything’s unclear or you hit a snag, drop a comment below — happy to help. And if this helped you, give it a :+1: so others can find it easily!

Happy building! :high_voltage:

— Posted in Community / Training, Academy & Certifications

2 Likes