GOCOSYS Account Docs

Sign in with GOCOSYS

Add GOCOSYS as an identity provider using OAuth 2.0 and OpenID Connect.

GOCOSYS Account is an OpenID Connect provider. Your application redirects people here to sign in, they approve what you are asking for, and you receive an authorization code to exchange for tokens. Their password never reaches you.

These pages document what this server implements, which is narrower than the OAuth specification. Anything not listed here is not supported.

At a glance

FlowAuthorization code with PKCE. Implicit and hybrid are not supported.
PKCERequired, S256 only.
Grantsauthorization_code, refresh_token
Scopesopenid, profile, email
ID tokenHS256, verified with your client secret
Access token15 minutes; accepted only at /oauth/userinfo
RegistrationSelf-service — see Register an app

Quickstart

  1. Register your application to get a client_id and client_secret.
  2. Point your OIDC library at the discovery document below — it configures every endpoint for you.
  3. Send users through the authorization flow.
  4. Exchange the code for tokens, then read the profile from userinfo.

Discovery

https://account.gocosys.com/.well-known/openid-configuration

If your language has an OIDC library — openid-client for Node, Authlib or mozilla-django-oidc for Python, Spring Security OAuth2 for Java, Laravel Socialite with a generic provider for PHP — configuring it from this one URL is preferable to hardcoding endpoints, and it keeps working if an endpoint ever moves.

One catch with off-the-shelf libraries. ID tokens are signed with HS256 using a symmetric key, so jwks_uri returns an empty key set. A library configured to fetch signing keys from JWKS will find nothing and fail — configure it to verify with the client secret instead. See Tokens & refresh.

What your application receives

Only the claims the user approves: a stable identifier, and optionally their name, username, picture and email. Key your records on sub — email and username can both change. Full detail in Scopes & claims.

Where to go next

Register an appRegister it yourself, and what you get back.
Authorization flowThe full round trip, with working requests.
Endpoint referenceEvery endpoint, method and parameter.
Scopes & claimsWhat each scope grants.
Tokens & refreshLifetimes, refreshing, revoking, verifying.
ErrorsEvery error code and its usual cause.