There are two halves to an Okta integration, and most enterprise customers run both on the same Okta app: SAML SSO controls how your team signs in, and SCIM provisioning controls who has a store account in the first place — accounts are created when employees join and deactivated when they leave, with no manual user admin. Set up SSO first, then add SCIM.
The values you'll paste into Okta. All three URLs are scoped to your store and never change.
Once the integration is live, signing in from the Okta dashboard works right away. Sign-in started from the swag store itself is switched on per store — it uses the same Okta configuration, we just need your sign-on URL (see the final step below).
Users open their Okta End User Dashboard and click the tile for your
swag store. Okta posts a signed assertion to store.jaapi.store and they land logged in.
IdP-initiated. No extra configuration needed.
Users go to store.jaapi.store/auth/signin and click Sign in with Okta. We redirect them to Okta to authenticate,
then back to the store.
SP-initiated. Requires you to share your Okta sign-on URL with Jaapi (see the final step below).
You'll need administrator access to the Okta Admin Console. The whole setup takes about ten minutes.
On the Configure SAML screen, fill in the following fields exactly. Values must match for authentication to work.
The SAML NameID (email) is the only required attribute. You
can optionally send these to populate the user's profile on first login.
nameDisplay name. Suggested Okta expression: user.firstName + " " + user.lastName
avatarProfile picture URL. Suggested expression: user.profileUrl
After finishing the Okta wizard, send Jaapi the information below so we can pin your IdP certificate and enable the SSO tile on your storefront.
store.jaapi.storeWhy the first login fails
We don't trust any IdP certificate by default. Your first sign-in attempt is rejected on purpose; the certificate from that attempt is captured for review. Once we verify it matches the metadata you sent over, we pin it and your team can sign in normally. This prevents anyone from impersonating your IdP during onboarding.
Later certificate renewals are self-service: when Okta rotates your signing certificate, a store admin can paste the new one under SAML SSO in the store settings — no need to email us again.
The values you'll paste into Okta's provisioning settings.
userNameSSO decides how people sign in; SCIM decides who has an account in the first place. With SCIM enabled on the same Okta app, Okta creates a store account the moment an employee is assigned the app, keeps their name and email in sync, and deactivates them when they're offboarded — so your store mirrors who's active in Okta, with no manual invites.
For the full list of supported endpoints, attributes and behaviours, see the SCIM 2.0 reference.
Okta Lifecycle Management required
SCIM provisioning is added to the same SAML app you created above and requires Okta Lifecycle Management on your org. If the Provisioning tab doesn't offer a SCIM option, ask your Okta administrator to enable provisioning for custom apps.
userNameStill on the Provisioning tab, open To App and click Edit. Enable:
If the Provisioning to App section shows nothing to enable, go back to Settings → Integration and check Push New Users and Push Profile Updates under Supported provisioning actions — those checkboxes control which options Okta offers here.
The default attribute mappings are all you need — userName, name.givenName, name.familyName, email and active. Leave Import Users (To Okta) and Push Groups switched off: Jaapi is the downstream system
and uses a flat role model, so it doesn't consume groups.
Provisioning is assignment-driven — Okta creates a Jaapi account the moment the app is assigned to a user. Assign it to the group your new hires already land in (Assignments → Assign), and onboarding and offboarding stay automatic from then on.
Good to know
active: false rather than deleting — departed employees
lose store access immediately, while their order history is retained.