Create Sign In Issuer

POST
/v1/admin/sign-in-issuers

Not available yet. This operation is part of the published contract and answers 501 not_implemented until it is built. The request and response shapes below are final for this contract version.

Operators only: the identity provider console users sign in with.

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Bearer credential. API keys look like sqk_<geo>_<key_id>_<secret>: treat them as opaque and never put one in a browser. Older keys without the geo part stay valid until rotated. Find a geo's endpoints through GET /.well-known/sparq-discovery before sending a key.

Header Parameters

Sparq-Workspace?string

For a person signed in to a console with several workspaces: the workspace this call is for, one of their memberships (listMyMemberships). Without it such a person gets workspace_required (400); a workspace they are not a member of is forbidden. It never grants anything, and other callers' credentials ignore it.

Formatuuid
Idempotency-Key?string

Makes a retry safe: the same key, route and body within 24 hours returns the stored response and the same result id. The same key with a different body or route is idempotency_conflict; while the first request runs, idempotency_in_progress.

Length8 <= length <= 128

Request Body

application/json
  1. body

The identity provider for console users (operators and workspace members). Separate from a project's issuers, which verify the host application's own users.

issuer*Issuer
Formaturi
Length1 <= length
jwks_uri*Jwks Uri
Formaturi
Length1 <= length
audience*Audience
Length1 <= length <= 200
algorithms*array<>
Items1 <= items
email_claim?Email Claim
Length1 <= length <= 100
Default"email"
workspace_id?|

The workspace whose members sign in through this issuer; empty for the operators' workspace. A member signs in only through their own workspace's issuer.

Response Body

Successful Response

application/json
  1. response
sign_in_issuer_id*Sign In Issuer Id
Formatuuid
workspace_id*Workspace Id

The workspace whose members sign in through it.

Formatuuid
issuer*Issuer
Formaturi
Length1 <= length
jwks_uri*Jwks Uri
Formaturi
Length1 <= length
audience*Audience
algorithms*array<>
email_claim*Email Claim
credential_id*Credential Id

Its user_token_issuer credential; revoke to stop it.

Formatuuid
created_at*Created At
Formatdate-time
Example Request
curl -X POST 'http://dev-sparq.centralindia.cloudapp.azure.com:8000/v1/admin/sign-in-issuers' \  -H 'Content-Type: application/json' \  -d '{  "issuer": "http://example.com",  "jwks_uri": "http://example.com",  "audience": "string",  "algorithms": [    "RS256"  ]}'
Example Response
{  "sign_in_issuer_id": "be466a24-6af5-4a37-9f85-91b60f8befea",  "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",  "issuer": "http://example.com",  "jwks_uri": "http://example.com",  "audience": "string",  "algorithms": [    "RS256"  ],  "email_claim": "string",  "credential_id": "13c40afa-2996-4a0c-b2e9-68fba9462242",  "created_at": "2019-08-24T14:15:22Z"}