The Single Sign-On API has been modeled to meet the OAuth 2.0 framework specification. As a result, authentication flows constructed using the Single Sign-On API replicate the OAuth 2.0 protocol flow.
To automatically respond to changes in your SSO connections, use the Connection events.
Returns the JSON Web Key Set (JWKS) containing the public keys used for verifying access tokens.
curl "https://api.workos.com/sso/jwks/client_01HXYZ123456789ABCDEFGHIJ"
{ "keys": [ { "alg": "RS256", "kty": "RSA", "use": "sig", "x5c": [ "MIIDQjCCAiqgAwIBAgIGATz/FuLiMA0GCSqGSIb3DQEBCwUA..." ], "n": "0vx7agoebGc...eKnNs", "e": "AQAB", "kid": "key_01HXYZ123456789ABCDEFGHIJ", "x5t#S256": "ZjQzYjI0OT...NmNjU0" } ] }
| curl "https://api.workos.com/sso/jwks/client_01HXYZ123456789ABCDEFGHIJ" |
| require "workos" | |
| WorkOS.configure do |config| | |
| config.api_key = "sk_example_123456789" | |
| end | |
| WorkOS.client.user_management.get_jwks(client_id: "client_01HXYZ123456789ABCDEFGHIJ") |
| from workos import WorkOSClient | |
| client = WorkOSClient(api_key="sk_example_123456789", client_id="client_123456789") | |
| client.user_management.get_jwks(client_id="client_01HXYZ123456789ABCDEFGHIJ") |
| package main | |
| import ( | |
| "context" | |
| "github.com/workos/workos-go/v9" | |
| ) | |
| func main() { | |
| client := workos.NewClient("sk_example_123456789") | |
| _, err := client.UserManagement().GetJWKS(context.Background(), "client_01HXYZ123456789ABCDEFGHIJ") | |
| if err != nil { | |
| panic(err) | |
| } | |
| } |
| <?php | |
| use WorkOS\WorkOS; | |
| $workos = new WorkOS( | |
| apiKey: "sk_example_123456789", | |
| clientId: "client_123456789", | |
| ); | |
| $workos | |
| ->userManagement() | |
| ->getJwks(clientId: "client_01HXYZ123456789ABCDEFGHIJ"); |
| import com.workos.WorkOS; | |
| WorkOS workos = new WorkOS("sk_example_123456789"); | |
| workos.userManagement.getJwks("client_01HXYZ123456789ABCDEFGHIJ"); |
| using WorkOS; | |
| var client = new WorkOSClient(new WorkOSOptions { | |
| ApiKey = "sk_example_123456789", | |
| ClientId = "client_123456789", | |
| }); | |
| await client.UserManagement.GetJwksAsync("client_01HXYZ123456789ABCDEFGHIJ"); |
| use workos::Client; | |
| #[tokio::main] | |
| async fn main() -> Result<(), workos::Error> { | |
| let client = Client::builder() | |
| .api_key("sk_example_123456789") | |
| .client_id("client_123456789") | |
| .build(); | |
| let _result = client | |
| .user_management() | |
| .get_jwks("client_01HXYZ123456789ABCDEFGHIJ") | |
| .await?; | |
| Ok(()) | |
| } |
| { | |
| "keys": [ | |
| { | |
| "alg": "RS256", | |
| "kty": "RSA", | |
| "use": "sig", | |
| "x5c": [ | |
| "MIIDQjCCAiqgAwIBAgIGATz/FuLiMA0GCSqGSIb3DQEBCwUA..." | |
| ], | |
| "n": "0vx7agoebGc...eKnNs", | |
| "e": "AQAB", | |
| "kid": "key_01HXYZ123456789ABCDEFGHIJ", | |
| "x5t#S256": "ZjQzYjI0OT...NmNjU0" | |
| } | |
| ] | |
| } |
GET/sso /jwks /:clientIdParameters Returns