Andreas DjokicEnterprise GTM · workos.com

Bot Blocking

Ready

Enabled

Agent Auth

Ready

Enabled

Audit Logs

Ready

Enabled

Enterprise SSO

Ready

Enabled

SCIM

Ready

Enabled

RBAC

Ready

Enabled

Connectors

Ready

Enabled

Bot Blocking

Ready

Enabled

Agent Auth

Ready

Enabled

Audit Logs

Ready

Enabled

Enterprise SSO

Ready

Enabled

SCIM

Ready

Enabled

RBAC

Ready

Enabled

Connectors

Ready

Enabled

Trusted by

SAML Lock

Auth for all SSO providers

Support any SAML or OIDC identity provider with a single integration

SAML Lock

Complete User Management

Manage users and organizations, set policies, and support all auth types

SAML Lock

Social authentication

Sign in to your app with Microsoft, Google, and more

SAML Lock

AuthKit

Flexible authentication UI powered by WorkOS and Radix

SAML Lock

Magic Auth

Passwordless auth with a six-digit code sent via email

SAML Lock

Multi-Factor Auth

Manage users and organizations, set policies, and support all auth types

WorkOS provides a single, elegant interface that abstracts dozens of enterprise integrations.

RESTful APIs, JSON responses, and normalized objects

Dashboard seamlessly integrates WorkOS into your application

Realtime updates from directory services with webhook events

Modern SDKs for Node.js, Ruby, Python, .NET, Go and more

Multiple environments to map to your application development process

Supports 20+ enterprise services with a single integration point


// Get a user’s access token and
// profile data from an Identity Provider
import WorkOS from '@workos-inc/node';
const workos = new WorkOS('sk_example_123456789');
const profile = await workos.sso.getProfileAndToken({
  code: '01E2RJ4C05B52KKZ8FSRDAP23J',
  clientID: 'client_123456789',
});

# Get a user’s access token and
# profile data from an Identity Provider
require 'workos'
WorkOS.key = 'sk_example_123456789'
WorkOS::SSO.profile_and_token(
  code: '01E2RJ4C05B52KKZ8FSRDAP23J',
  client_id: 'client_123456789',
)

# Get a user’s access token and
# profile data from an Identity Provider
import workos
from workos import client
workos.api_key = 'sk_example_123456789'
workos.client_id = 'client_123456789'
client.sso.get_profile_and_token('01E2RJ4C05B52KKZ8FSRDAP23J')

// Get a user’s access token and
// profile data from an Identity Provider
import "github.com/workos/workos-go/pkg/sso"
sso.SetAPIKey("sk_example_123456789")
sso.GetProfileAndToken(
  context.Background(),
  sso.GetProfileAndTokenOptions{
    Code: "01E2RJ4C05B52KKZ8FSRDAP23J",
  }
)

// Get a user’s access token and
// profile data from an Identity Provider
$this->sso = new WorkOS\SSO();
$profile = $this->sso->getProfileAndToken("01E2RJ4C05B52KKZ8FSRDAP23J");

// Get a user’s access token and
// profile data from an Identity Provider
import com.workos.WorkOS;
WorkOS workos = new WorkOS("sk_example_123456");
ProfileAndToken profileAndToken = workos.sso.getProfileAndToken("01E2RJ4C05B52KKZ8FSRDAP23J", "client_123456789");
Profile profile = profileAndToken.profile;

// Get a user’s access token and
// profile data from an Identity Provider
WorkOS.SetApiKey("sk_example_123456");
var ssoService = new SSOService();
var options = new GetProfileAndTokenOptions
{
    ClientId = "client_123456789",
    Code = "01E2RJ4C05B52KKZ8FSRDAP23J",
};
var profile = await ssoService.GetProfileAndToken(options);

curl --request POST \
  --url "https://api.workos.com/sso/token? \
  client_id=client_123456789& \
  client_secret=sk_example_123456789& \
  grant_type=authorization_code& \
  code=01E2RJ4C05B52KKZ8FSRDAP23J"

HTTP 200


Response {...}
  "access_token": "01DMEK0J53CVMC32CK5SE0KZ8Q",
  "profile": {
    "id": "prof_01DMC79VCBZ0NY2099737PSVF1",
    "connection_id": "conn_01E4ZCR3C56J083X43JQXF3JK5",
    "connection_type": "okta",
    "email": "alan@foo-corp.com",
    "first_name": "Alan",
    "last_name": "Turing",
    "idp_id": "00u1a0ufowBJlzPlk357",
    "object": "profile",
    "raw_attributes": {...}
  }

WorkOS

Okta Logo

Azure Logo

Google Logo

SAML

OneLogin Logo

ADFS Logo

Okta Logo

Azure Logo

Google Logo

SAML Logo

OneLogin Logo

ADFS Logo

BambooHR Logo

JumpCloud Logo

PingIdentity Logo

OpenID Logo

DUO Logo

BambooHR Logo

JumpCloud Logo

PingIdentity Logo

 Logo

DUO Logo

SCIM Provisioning

SCIM provisioning

with Okta, Entra ID, ADFS, and more

HRIS Integration

HRIS integration

with Bamboo, Rippling, and others

Admin Portal Screenshot

Effortlessly connect any identity provider or directory

Customize the look and feel to match your brand

Host on your custom domain (CNAME)

A polished experience for IT administrators

Step-by-step setup guides with detailed screenshots

Seamlessly integrates into your existing application

“The WorkOS team was right there with us every step of the way. Their support ensured those final migrations were just as smooth as the rest.”

“Cursor now completely runs on WorkOS. Login times are much faster, the signup page looks much better, and we’re not subject to Auth0's customer-hostile and opaque pricing anymore. Plus, we’re excited to add SSO for our business tier soon.”

“SSO is a crucial part of our Enterprise Pro plan, and with WorkOS we could roll it out in less than a week. Docs are comprehensive, the Admin Portal has made customer onboarding a breeze, and the level of support we received directly in Slack has been phenomenal.”

Dmitry Shevelenko

Chief Business Officer

Read more

“Integrating was straightforward, pleasant, and fun. The team answered my questions quickly, and went above and beyond to help when I ran into issues.”

“When I asked the team, how was the experience with WorkOS? They were just like, this is incredible.”

“WorkOS simplified the complexity of implementing single sign-on (SSO) with multiple identity providers.”

“With our in-house solution we had to spend 2-4 hours provisioning each SSO connection. I wanted to find a solution that would allow us to focus on building core-products.”

“We did consider open source, but WorkOS provided a far superior developer experience.”

“With Audit Logs, we were able to launch the storage, querying, and export capabilities we needed into production in just a matter of days.”

“We viewed WorkOS’ connections-based pricing as a more viable option aligned with our projected growth. The Admin Portal has also been a critical feature allowing us to save engineering time and provide a more polished enterprise experience.”

“WorkOS’ SCIM API has been a game-changer, enabling us to meet the user lifecycle management needs of our largest enterprise customers.”

“The decision to use WorkOS was straightforward. We saw good feedback from existing customers and reviewing the documentation made us confident that our needs would be addressed.”

“WorkOS was super easy to self serve and get up and running. It provided us super easy-to-implement must-have functionality out of the box.”

“What sold WorkOS was the Admin Portal. Our UI gives customers a link; they go to the Admin Portal, complete onboarding steps at their leisure, and never have to talk to us, making the onboarding process a breeze.”

“SCIM is a game-changer for our customers, saving them a lot of time and reducing friction. It's crucial because, without SCIM, customers would likely get frustrated and might even switch to another provider with a smoother experience.”

“The onboarding process has been excellent. I love sending IT admins the link to set it up themselves and getting an email notification when it's completed. It's so efficient not having to get into meetings or go back and forth via email with IT personnel. ”

“​​If you work with another provider, you probably won’t get the same level of support that WorkOS provides. We'd get immediate responses to technical questions we posted in Slack.”

Hannah Han-Ciaravella

Senior Product Manager

Read more

Read the original on workos.com ↗