Skip to content

docs: add Okta setup guide#986

Open
wdawson wants to merge 5 commits into
mainfrom
wils/gro-95-docs-okta-setup-guide-user-sources
Open

docs: add Okta setup guide#986
wdawson wants to merge 5 commits into
mainfrom
wils/gro-95-docs-okta-setup-guide-user-sources

Conversation

@wdawson
Copy link
Copy Markdown
Contributor

@wdawson wdawson commented May 30, 2026

Summary

Adds the Okta per-provider setup guide as the second concrete provider page under /guides/user-sources/, modeled on the Microsoft Entra ID page that landed in #983. Walks an admin through creating an OIDC Web Application integration in Okta, requiring PKCE, and pasting the resulting values into Arcade's User Source form.

Closes GRO-95. Part of the GRO-75 umbrella.

What's in this PR

  • New page at app/en/guides/user-sources/okta/page.mdx.
  • Three light-mode screenshots under public/images/user-sources/okta/: the Create a new app integration dialog, the New Web App Integration form with the Arcade redirect URI in place, and the Client Credentials panel with the Require PKCE checkbox ticked.
  • okta entry added to app/en/guides/user-sources/_meta.tsx.

Decisions worth flagging

  • Org Authorization Server, not Custom: The page uses the Org Authorization Server (https://<your-okta-org>.okta.com) as the canonical Issuer URL. Empirically both <org>.okta.com/.well-known/openid-configuration and <org>.okta.com/oauth2/default/.well-known/openid-configuration are valid endpoints, but the Org server ships with every Okta org and matches the issuer admins can read straight off the Okta home screen. Custom Authorization Servers are positioned in Notes as an advanced opt-in for teams that need custom scopes, claims, or policies.
  • Require PKCE is its own step: Arcade always uses PKCE; explicitly turning on Okta's Require PKCE as additional verification checkbox is the Okta equivalent of the implicit PKCE acceptance Entra does on the Web platform. Step is named separately so it doesn't get lost in the credentials step.
  • Assignments stay user-discretion: Okta's app creation flow nudges admins toward an assignment model. The page intentionally tells admins to pick whichever model fits their org rather than recommending one, since assignment policy is out of Arcade's scope.
  • Subject Claim defaults to sub: Okta's sub is the user's stable Okta UID and doesn't have the per-app-registration issue Entra's sub does, so no special recommendation needed.
  • Glossary auto-link: this page inherits the /guides/user-sources/*/page.mdx exemption added in docs: add Microsoft Entra ID setup guide #983, so Okta terms like "tenant" don't trigger Arcade glossary tooltips.

Test plan

  • Vale clean on the new page
  • check-meta-keys — all _meta.tsx keys valid
  • pnpm build/en/guides/user-sources/okta renders in the route table
  • Screenshots match the current Okta admin console UI (provided by Wils from his integrator test org)
  • Reviewer to confirm the steps read cleanly for a non-OIDC-expert admin
  • Reviewer to confirm the Org Authorization Server framing is the right default
  • Reviewer to confirm the Custom Authorization Server / custom claims notes point to the right spots

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only changes with no application, auth, or API behavior modifications.

Overview
Adds an Okta provider setup guide under User Sources (OIDC web app, PKCE, Arcade redirect URI, field mapping, and notes on org vs custom authorization servers and subject claims), registers it in the section nav, and refreshes public/llms.txt so the new page is discoverable.

The User Sources overview gains a Pick a subject claim section explaining stable, never-reused identifiers; the Microsoft Entra ID guide’s custom-claim note now links there.

Reviewed by Cursor Bugbot for commit 3965166. Bugbot is set up for automated code reviews on this repo. Configure here.

Second per-provider page under /guides/user-sources/, modeled on the
Microsoft Entra ID page. Walks an admin through creating an OIDC Web
Application integration in Okta, requiring PKCE, and pasting the
resulting values into Arcade's User Source form.

Includes three light-mode screenshots:
- Create a new app integration dialog (OIDC + Web Application)
- New Web App Integration form with the Arcade redirect URI
- Client Credentials panel with Require PKCE checked

Notes cover:
- Okta-hosted custom domains
- Custom Authorization Servers (the page uses the Org Authorization
  Server by default since it ships with every Okta org; custom servers
  are positioned as an advanced opt-in for teams that need custom
  scopes, claims, or policies)
- Client secret rotation
- Custom subject claims via a Custom Authorization Server

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment May 30, 2026 6:17pm

Request Review

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style Review

Found 1 style suggestion(s).

Powered by Vale + Claude

Comment thread app/en/guides/user-sources/okta/page.mdx Outdated
The radio label in the Okta admin console screenshot reads
'OIDC - OpenID Connect' with a regular hyphen, not an em-dash. Match
the literal UI character (which also satisfies the Google.EmDash
style rule).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per Wils — newer Okta admins won't always know that the assignment
model is how they govern which end users can sign in to a Gateway
backed by this User Source. Be explicit: anyone Okta won't let through
the assignment is blocked at sign-in.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a new "Pick a subject claim" section to the User Sources overview
explaining the two properties a subject claim value must satisfy:
- Stable per user (a changing value mints a new identity in Arcade)
- Unique forever (email/username reuse can hand the new owner the
  previous person's access)

Both per-provider Custom subject claims notes (Okta and Microsoft
Entra ID) get a brief pointer to the new overview section so the
per-provider guidance stays focused on provider-specific config while
the general principles live in one place.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@wdawson wdawson marked this pull request as ready for review May 30, 2026 23:28
@wdawson wdawson requested a review from vfanelle May 30, 2026 23:28
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3965166. Configure here.

---

import Image from "next/image";
import { Callout, Steps } from "nextra/components";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused Callout import in Okta page

Low Severity

Callout is imported from nextra/components but never used anywhere in this file. Only Steps is actually referenced. The Entra page imports and uses both, so this looks like it was copied from the Entra template without removing the unused component.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3965166. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant