Shanghai Jiao Tong University · Authentication Profile

Shanghai Jiao Tong University Authentication

Authentication

Shanghai Jiao Tong University secures its APIs with oauth2, openIdConnect, saml2, and totp across 4 declared security schemes, as derived from its OpenAPI definitions.

UniversityHigher EducationEducationResearchChinaC9 LeagueIdentity FederationCourse CatalogResearch ComputingCampus LifeAuthenticationOpenID ConnectSAMLShibbolethPayments
Methods: oauth2, openIdConnect, saml2, totp Schemes: 4 OAuth flows: API key in:

Security Schemes

jAccountOAuth2 oauth2
· flows: authorizationCode, clientCredentials, password
jAccountOIDC openIdConnect
jAccountShibbolethIdP saml2
jAccountTOTP totp

Source

Authentication Profile

Raw ↑
generated: '2026-08-30'
method: derived
x-evidence-method: probed
x-authorship: >-
  Written by API Evangelist from live probes of SJTU's own hosts plus SJTU's own published
  documentation. Not authored or published by Shanghai Jiao Tong University.
source: https://jaccount.sjtu.edu.cn/oauth2/.well-known/openid-configuration
docs:
- https://developer.sjtu.edu.cn/auth/oidc.html
- https://developer.sjtu.edu.cn/auth/oauth.html
- https://developer.sjtu.edu.cn/auth/jaccount.html
- https://developer.sjtu.edu.cn/auth/totp.html
x-operator: institution
note: >-
  jAccount is Shanghai Jiao Tong University's own identity provider, operated by the SJTU Network
  and Information Center on the university's own domain. It is not a vendor tenancy: the OAuth 2.0
  authorization server, the OpenID Connect provider and the Shibboleth SAML identity provider all
  run under jaccount.sjtu.edu.cn and are documented on the university's own developer portal. Every
  programmable surface SJTU operates — the Open API at api.sjtu.edu.cn, the Data Resources API at
  graphql.sjtu.edu.cn, and the 交我办 process platform — authenticates through it.
summary:
  types: [oauth2, openIdConnect, saml2, totp]
  discovery_published: true
  standards: [oauth2, oidc, saml2, shibboleth, rfc6749, rfc6750, jwt]
schemes:
- name: jAccountOAuth2
  type: oauth2
  description: >-
    OAuth 2.0 authorization server run by SJTU. Access tokens may be presented either as an
    access_token query-string or body parameter, or as an Authorization: Bearer header per RFC 6750.
    Which grants an operation accepts is documented per operation; the portal marks them 授权码
    (authorization code, A), 客户端 (client credentials, C) and 密码 (resource-owner password, P).
  issuer: https://jaccount.sjtu.edu.cn/oauth2/
  flows:
  - flow: authorizationCode
    authorizationUrl: https://jaccount.sjtu.edu.cn/oauth2/authorize
    tokenUrl: https://jaccount.sjtu.edu.cn/oauth2/token
    pkce: not advertised
  - flow: clientCredentials
    tokenUrl: https://jaccount.sjtu.edu.cn/oauth2/token
  - flow: password
    tokenUrl: https://jaccount.sjtu.edu.cn/oauth2/token
    note: >-
      Resource-owner password credentials is still offered and is the documented grant for a
      handful of notification and mail operations. It is deprecated in OAuth 2.1 and its presence
      is a real, dateable observation about this platform rather than a criticism of the institution.
  sources: [well-known/shanghai-jiao-tong-university-openid-configuration.json]
- name: jAccountOIDC
  type: openIdConnect
  description: >-
    OpenID Connect on top of the same authorization server. The ID token is a JWT carrying iss,
    sub (the jAccount name), aud, nonce, exp, iat, name (the user's real name), code (the default
    identity's student/staff number) and type (the default identity type). Three login patterns are
    documented: authorization-code OIDC, implicit OIDC, and an authorization-code plus Profile API
    pattern that returns more user detail than the ID token carries.
  openIdConnectUrl: https://jaccount.sjtu.edu.cn/oauth2/.well-known/openid-configuration
  discovery:
    issuer: https://jaccount.sjtu.edu.cn/oauth2/
    authorization_endpoint: https://jaccount.sjtu.edu.cn/oauth2/authorize
    token_endpoint: https://jaccount.sjtu.edu.cn/oauth2/token
    response_types_supported: [code, code id_token, id_token, id_token token]
    subject_types_supported: [public]
    id_token_signing_alg_values_supported: [HS256]
    scopes_supported: [openid, basic]
    jwks_uri: null
    userinfo_endpoint: null
    end_session_endpoint: null
  gaps:
  - >-
    id_token_signing_alg_values_supported is HS256 only. The ID token is symmetrically signed with
    the client_secret, so there is no JWKS to publish and no asymmetric verification path — a public
    client (SPA, mobile app) cannot verify an ID token without embedding the secret.
  - >-
    No jwks_uri, userinfo_endpoint, registration_endpoint, introspection_endpoint,
    revocation_endpoint or end_session_endpoint is advertised, and no code_challenge_methods_supported
    (PKCE) is declared. The portal documents application logout separately in prose.
  - >-
    scopes_supported advertises only openid and basic, while the portal's authorization-scope table
    documents 39 scopes. The discovery document under-reports the platform.
  sources: [well-known/shanghai-jiao-tong-university-openid-configuration.json]
- name: jAccountShibbolethIdP
  type: saml2
  description: >-
    Shibboleth identity provider publishing SAML 2.0 metadata. This is the surface that federates
    SJTU into CARSI (CERNET Authentication and Resource Sharing Infrastructure), which has been a
    full member of eduGAIN since 2019 — so an SJTU account authenticates against licensed resources
    worldwide through this entity.
  entity_id: https://jaccount.sjtu.edu.cn/idp/shibboleth
  metadata_url: https://jaccount.sjtu.edu.cn/idp/shibboleth
  scope: sjtu.edu.cn
  display_name: SJTU Identity Provider
  protocols:
  - urn:oasis:names:tc:SAML:2.0:protocol
  - urn:oasis:names:tc:SAML:1.1:protocol
  - urn:mace:shibboleth:1.0
  endpoints:
    single_sign_on:
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/POST/SSO
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/POST-SimpleSign/SSO
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/Redirect/SSO
    - binding: urn:mace:shibboleth:1.0:profiles:AuthnRequest
      location: https://jaccount.sjtu.edu.cn/idp/profile/Shibboleth/SSO
    single_logout:
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/Redirect/SLO
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/POST/SLO
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/POST-SimpleSign/SLO
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:SOAP
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/SOAP/SLO
    attribute_query:
    - binding: urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML1/SOAP/AttributeQuery
    - binding: urn:oasis:names:tc:SAML:2.0:bindings:SOAP
      location: https://jaccount.sjtu.edu.cn/idp/profile/SAML2/SOAP/AttributeQuery
  observations:
  - >-
    The signing certificate in the metadata was issued 2016-10-01 and does not expire until
    2036-10-01 — a twenty-year self-signed IdP certificate, which is conventional for Shibboleth
    metadata but worth recording.
  - >-
    Apache-Coyote/1.1 is returned in the Server header, so the IdP is running on an old Tomcat
    connector generation.
  sources: [well-known/shanghai-jiao-tong-university-saml-idp-metadata.xml]
- name: jAccountTOTP
  type: totp
  description: >-
    Dynamic one-time password (动态口令), documented at /auth/totp.html as a second factor alongside
    jAccount password login.
  sources: [https://developer.sjtu.edu.cn/auth/totp.html]
onboarding:
  self_service: false
  detail: >-
    There is no self-service developer signup. An application is registered by signing in to
    my.sjtu.edu.cn or the 交我办 app and following Service Hall -> Information Services -> jAccount
    interface application (服务大厅 -> 信息服务 -> jAccount接口申请). Approval issues an appId (of the
    form japortal000000) and a 48-character appSecret. Adding a scope after the fact requires an
    email to the platform contact naming the appId and the new scope codes. Data Resources access
    additionally requires the separate 数据资源申请流程.
  eligibility: >-
    A jAccount is required to submit the application, so the developer audience is university
    members and their partners, not the general public.

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/shanghai-jiao-tong-university-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.