ZotGPT (UC Irvine) · Authentication Profile

Zotgpt Authentication

Authentication

ZotGPT runs two distinct authentication planes. Human access to every interactive product is federated campus SSO — a Shibboleth SAML2 redirect to shib.service.uci.edu, observed live on chat.zotgpt.uci.edu. Machine access is key-based, and the key is always minted only after a human has authenticated with UCInetID: an Azure API Management subscription key for the deprecated API, and a workspace virtual key for the Gateway. There is no anonymous self-service signup on either plane, and there is no public OAuth authorization server.

ZotGPT (UC Irvine) declares 3 security scheme(s) across its OpenAPI definitions.

AuthenticationSSOSAMLShibbolethAPI KeysIdentity
Methods: Schemes: 3 OAuth flows: API key in:

Security Schemes

UCInetID Single Sign-On (Shibboleth SAML 2.0) federated-sso
Gateway virtual API key apiKey
· in: header ()
Azure API Management key (deprecated) http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-07-28'
method: searched
source:
  - https://zotgpt.uci.edu/services/gateway/
  - https://zotgpt.uci.edu/services/gateway/clients/
  - https://zotgpt.uci.edu/services/api/
  - https://zotgpt.uci.edu/services/chat/
specification: API Commons Authentication
specificationVersion: '0.1'
provider: ZotGPT (UC Irvine)
providerId: zotgpt
description: >-
  ZotGPT runs two distinct authentication planes. Human access to every
  interactive product is federated campus SSO — a Shibboleth SAML2 redirect to
  shib.service.uci.edu, observed live on chat.zotgpt.uci.edu. Machine access is
  key-based, and the key is always minted only after a human has authenticated
  with UCInetID: an Azure API Management subscription key for the deprecated
  API, and a workspace virtual key for the Gateway. There is no anonymous
  self-service signup on either plane, and there is no public OAuth
  authorization server.
tags:
  - Authentication
  - SSO
  - SAML
  - Shibboleth
  - API Keys
  - Identity
schemes:
  - name: UCInetID Single Sign-On (Shibboleth SAML 2.0)
    type: federated-sso
    protocol: SAML 2.0
    idp: https://shib.service.uci.edu/idp/profile/SAML2/Redirect/SSO
    applies_to:
      - https://chat.zotgpt.uci.edu/
      - https://classchat.zotgpt.uci.edu/
      - https://creator.zotgpt.uci.edu/
      - https://app.portkey.ai (Gateway portal sign-in)
    evidence:
      probed: '2026-07-28'
      request: GET https://chat.zotgpt.uci.edu/
      response: >-
        HTTP 302 to
        https://shib.service.uci.edu/idp/profile/SAML2/Redirect/SSO?SAMLRequest=...
        with an _opensaml_req session cookie (secure, HttpOnly, SameSite=None).
    notes: >-
      Every end-user surface is behind campus identity. This is the mechanism
      that makes affiliation-based entitlement possible — the platform knows
      whether the caller is faculty, staff, a graduate student, or an
      undergraduate before it decides what they may spend.
  - name: Gateway virtual API key
    type: apiKey
    in: header
    header: x-portkey-api-key
    also_accepted_as: >-
      bearer scheme, documented for Anthropic-style clients such as Claude
      Desktop
    applies_to: https://api.portkey.ai/v1
    issued_by: >-
      The user, self-service, inside their ZotGPT Gateway workspace after
      UCInetID sign-in.
    scoped_to: workspace
    controls:
      - per-key spend limits
      - workspace budget enforcement
      - provider selection via x-portkey-provider alias
    handling: >-
      UCI documents the virtual key as "treat as a password."
    notes: >-
      Self-managed key issuance is the structural change from the previous
      generation: the old API required a ServiceNow ticket per developer, the
      Gateway does not.
  - name: Azure API Management key (deprecated)
    type: http
    scheme: bearer
    applies_to: https://api.zotgpt.uci.edu/v1
    issued_by: >-
      Azure API Management developer portal at portal.azureapi.zotgpt.uci.edu,
      after an approved ServiceNow request
      (uci.service-now.com KB0013367).
    eligibility: UCI faculty and staff
    status: deprecated
    end_of_life: >-
      "All remaining Azure API keys disabled" at the end of the three-month
      migration window.
provider_routing:
  description: >-
    The Gateway does not expose upstream vendor credentials to callers. A campus
    alias is presented instead, and UCI holds the vendor contracts and keys
    behind it. This is the control point that lets UCI change vendors without
    changing any campus client code.
  header: x-portkey-provider
  aliases_documented:
    - '@zotgpt-api-bedrock'
    - '@openai-prod'
  example_model_slug: '@zotgpt-api-bedrock/us.anthropic.claude-opus-4-7'
oauth:
  authorization_server: none published
  probed:
    - path: /.well-known/oauth-authorization-server
      host: zotgpt.uci.edu
      status: 404
gaps:
  - No public, machine-readable authentication reference (no OpenAPI
    securitySchemes published by UCI, no OIDC discovery document).
  - No documented key rotation policy or key lifetime for Gateway virtual keys.
  - No documented scope model — a virtual key is bounded by budget, not by
    capability.
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com