Skip to main content
Connect Your AI

OIDC sessions and revoking AI access

This page covers two things every admin eventually needs: seeing which AI tools your team has connected via sign-in, and cutting off access — for one app, one person, or one credential.

Written By Christopher Scaminaci

Last updated 3 days ago

This page covers two things every admin eventually needs: seeing which AI tools your team has connected via sign-in, and cutting off access — for one app, one person, or one credential.

Where to see AI sessions

When team members connect AI tools with Sign in with StackJack, each per-install connection is recorded as a read-only AI session. There are two places to see them, depending on whose you are looking at:

  • Your own — the Your AI connections card on the MCP Setup page (/endpoints), in the Connect section. It is a read-only self-view: it shows only the sessions you created (and the shared-apps you authorized), never another member's, and has no management controls.
  • Every member's — the Team page (/team). Expand a member's row (the chevron) to see that member's connections, grouped into Member credentials, Connected apps, and AI sessions. Sessions belonging to a removed member or the primary owner roll up into the managers-only Unattributed connections area below the members grid. This is where an admin manages the whole team's connections.

What an AI-session row shows:

  • The AI tool's name (as it registered itself), with a DCR (OIDC) badge.
  • An Active badge while the connection is live. Inactive (revoked) sessions are hidden by default — tick Show inactive to reveal them; they are retained for your records, not deleted.
  • Last-used time (Eastern Time) and total tool-call count.

Three things to know about AI-session rows:

  1. They are informational only — there is no revoke button on a session. Read on for the actual revocation levers.
  2. Connections appear only after their first tool call. The list is built from usage activity, so a tool that signed in but has not yet called anything is not shown.
  3. Shared-app (CIMD) connections are separate. They appear — with revoke controls for admins — under Connected apps in the same per-member Team row (and in each user's own Your AI connections self-view, read-only). See Connected Apps.

The MCP Setup connection-visibility section listing client-credential and sign-in OAuth connections, their connect-time catalog state, and recent dispatcher activity
The current self-service visibility surface distinguishes client credentials from sign-in connections. Client-generated labels and a deployment-specific OAuth registration path are replaced with examples.

How revocation works (read this first)

Signed-in AI tools hold a short-lived access token (1 hour) plus a refresh token that renews it automatically (an idle connection dies after 30 days unused). StackJack does not recall issued tokens — instead, every single request re-verifies access against the current state of your workspace: is the client still active, is the member still active, is the authorization still in place.

The practical consequence: every action below takes effect on the harness's next request — not at token expiry, not after a delay. That includes rotating a credential's secret: rotation moves the credential forward, and tokens minted before the rotation are refused on their next use rather than living out their hour.

Recipe 1: Disconnect one AI app for one user

Applies to shared-app (CIMD) connections — for example an AI product that all your users connect with the same published app identity.

  1. Open the Team page (/team).
  2. In Active Members, find that member and expand their row (the chevron on the left).
  3. Under Connected apps, find the row for the app you want to cut off and select Revoke.

If the person is no longer a team member (or is the primary owner without a member row), their authorizations are in the managers-only Unattributed connections area below the members grid instead — expand it and Revoke there.

Effective on the app's next request; the app also cannot sign that user back in until you Reinstate the row. Full details: Connected Apps.

Note: for per-install (DCR) connections there is no per-app revoke — access is all-or-nothing per member (Recipe 2). If you need finer control for a specific tool, connect it with a dedicated Client ID + Secret instead, which you can revoke individually.

Recipe 2: Cut off a departing or compromised user entirely

  1. Open the Team page.
  2. On the member's row, select Revoke Access and confirm ("Their MCP credentials will stop working immediately").

This single action revokes, all at once:

  • Their team membership (portal access included).
  • Every AI tool they connected via sign-in (per-install and shared-app alike).
  • Their personal MCP client credentials and API keys.
  • Their personal per-user connector credentials.

Effects on their live connections: the current session gets a 401 on its next request; background token refresh is denied; and if they try to sign in again, they are told their access was revoked and to ask an admin for a new invite.

Owners, co-owners, and Administrators can do this.

Reactivation restores some of this, not all of it. If you later Reactivate the member:

  • Comes back: their membership, the MCP client credentials and API keys that this suspension switched off, their per-user connector credentials (unless a credential was disabled for a different reason, such as a failed validation), and the shared-app (CIMD) authorizations that this suspension revoked.
  • Does not come back: anything revoked separately — for cause, by you or by StackJack support — stays revoked and has to be re-issued.
  • Does not come back: their per-install DCR (OIDC) sign-in registrations. Each of those AI tools must sign in again. Tools prompt for this automatically the next time they are used, so it is a one-time re-login rather than a setup redo.

The same detail, from the Team page's point of view, is in Managing members.

Recipe 3: Kill a manual credential or API key

  1. Open MCP Setup (/endpoints) → AI client credentials (the Client IDs & API keys card).
  2. Select Revoke on the credential — immediate and permanent across every usage form (Basic header, API-key header, OAuth tokens minted from it, refresh).

Or select Rotate Secret if the tool should keep existing under a new secret.

What rotation cuts off. Rotation retires the old secret and the access and refresh tokens that were minted from it. A tool still holding an old token gets a 401 on its next request, and an attempt to refresh with an old refresh token is refused. There is no grace window to wait out.

What rotation asks of you. The credential itself stays active, so the tool is not revoked — it is holding the wrong secret. Copy the new secret from the dialog and paste it into the AI tool. Until you do, that tool is disconnected. Rotate when you can update the tool promptly; use Revoke when you want the credential gone for good.

Rotation invalidates the secret and the tokens made from it. Revocation invalidates the whole credential. Both stop token refresh.

Recipe 4: Block an AI product entirely

If you need a whole AI product blocked at the platform level (every user, not just yours), contact StackJack support (support@stackjack.io). StackJack support can block an AI product for every user; when it does, the app is refused for all users on its next request and cannot sign anyone back in.

Timing reference

ActionLive connectionBackground refreshNew sign-in
Revoke member (Team page)Stops next requestDeniedDenied — "ask your admin for a new invite"
Revoke app authorization (Team → member row → Connected apps)Stops next requestDeniedDenied until reinstated
Revoke manual client / API keyStops next requestDeniedn/a
Rotate secret / API keyStops next request (old tokens refused)Denied for old refresh tokens; works again once the tool holds the new secretOld secret dead immediately
StackJack disables an app productStops next request, all usersDeniedDenied

What you cannot do (so you do not go looking for it)

  • Revoke from an AI-session row. Sessions are read-only wherever they appear (your own self-view and the Team member rows); the lever for signed-in connections is member revocation (or Connected apps on the member's Team row for shared apps).
  • Call a token-revocation API. There is none — enforcement is per-request re-verification, which is stronger: no lever waits for a token to expire.
  • Rely on "disconnect" inside the AI tool. Removing the server inside the tool stops the tool from calling, but revokes nothing on the StackJack side; the unused connection simply ages out after 30 days. If you need server-side certainty, use the recipes above.