@workos/mcp-docs-server 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/organized/changelogs/workos-platform.json +125 -125
- package/.docs/organized/docs/admin-portal/custom-branding.mdx +2 -4
- package/.docs/organized/docs/admin-portal/example-apps.mdx +11 -11
- package/.docs/organized/docs/admin-portal/index.mdx +39 -33
- package/.docs/organized/docs/audit-logs/admin-portal.mdx +1 -1
- package/.docs/organized/docs/audit-logs/editing-events.mdx +1 -1
- package/.docs/organized/docs/audit-logs/exporting-events.mdx +1 -1
- package/.docs/organized/docs/audit-logs/index.mdx +17 -2
- package/.docs/organized/docs/audit-logs/log-streams.mdx +325 -1
- package/.docs/organized/docs/audit-logs/metadata-schema.mdx +1 -1
- package/.docs/organized/docs/authkit/_navigation.mdx +108 -0
- package/.docs/organized/docs/{user-management → authkit}/actions.mdx +3 -4
- package/.docs/organized/docs/authkit/add-ons/google-analytics.mdx +79 -0
- package/.docs/organized/docs/authkit/add-ons/segment.mdx +77 -0
- package/.docs/organized/docs/authkit/add-ons/stripe.mdx +103 -0
- package/.docs/organized/docs/authkit/api-keys.mdx +99 -0
- package/.docs/organized/docs/{user-management → authkit}/branding.mdx +220 -2
- package/.docs/organized/docs/authkit/cli-auth.mdx +76 -0
- package/.docs/organized/docs/authkit/cli-installer.mdx +157 -0
- package/.docs/organized/docs/authkit/connect/m2m.mdx +65 -0
- package/.docs/organized/docs/authkit/connect/oauth.mdx +88 -0
- package/.docs/organized/docs/authkit/connect/standalone.mdx +179 -0
- package/.docs/organized/docs/authkit/connect.mdx +65 -0
- package/.docs/organized/docs/authkit/custom-email-providers.mdx +141 -0
- package/.docs/organized/docs/{user-management → authkit}/custom-emails.mdx +15 -15
- package/.docs/organized/docs/authkit/directory-provisioning.mdx +89 -0
- package/.docs/organized/docs/{user-management → authkit}/domain-verification.mdx +5 -6
- package/.docs/organized/docs/{user-management → authkit}/email-password.mdx +2 -2
- package/.docs/organized/docs/authkit/email-verification.mdx +31 -0
- package/.docs/organized/docs/{user-management → authkit}/example-apps.mdx +3 -3
- package/.docs/organized/docs/authkit/hosted-ui.mdx +165 -0
- package/.docs/organized/docs/{user-management → authkit}/identity-linking.mdx +9 -9
- package/.docs/organized/docs/{user-management → authkit}/impersonation.mdx +8 -8
- package/.docs/organized/docs/{user-management → authkit}/index.mdx +141 -74
- package/.docs/organized/docs/{user-management → authkit}/invitations.mdx +4 -4
- package/.docs/organized/docs/{user-management → authkit}/invite-only-signup.mdx +3 -3
- package/.docs/organized/docs/authkit/jit-provisioning.mdx +42 -0
- package/.docs/organized/docs/{user-management → authkit}/jwt-templates.mdx +37 -3
- package/.docs/organized/docs/authkit/landing.mdx +22 -0
- package/.docs/organized/docs/{user-management → authkit}/magic-auth.mdx +3 -5
- package/.docs/organized/docs/{user-management → authkit}/mcp.mdx +46 -9
- package/.docs/organized/docs/{user-management → authkit}/metadata.mdx +9 -9
- package/.docs/organized/docs/{user-management → authkit}/mfa.mdx +2 -2
- package/.docs/organized/docs/{user-management → authkit}/migrations.mdx +4 -4
- package/.docs/organized/docs/{user-management → authkit}/modeling-your-app.mdx +11 -11
- package/.docs/organized/docs/{user-management → authkit}/organization-policies.mdx +3 -4
- package/.docs/organized/docs/authkit/overview.mdx +46 -0
- package/.docs/organized/docs/{user-management → authkit}/passkeys.mdx +3 -3
- package/.docs/organized/docs/authkit/pipes.mdx +75 -0
- package/.docs/organized/docs/{user-management → authkit}/radar.mdx +39 -4
- package/.docs/organized/docs/authkit/roles-and-permissions.mdx +208 -0
- package/.docs/organized/docs/{user-management → authkit}/sessions.mdx +32 -20
- package/.docs/organized/docs/{user-management → authkit}/social-login.mdx +16 -2
- package/.docs/organized/docs/{user-management → authkit}/sso-with-contractors.mdx +3 -4
- package/.docs/organized/docs/{user-management → authkit}/sso.mdx +2 -2
- package/.docs/organized/docs/authkit/users-organizations.mdx +107 -0
- package/.docs/organized/docs/custom-domains/admin-portal.mdx +0 -2
- package/.docs/organized/docs/custom-domains/authkit.mdx +0 -2
- package/.docs/organized/docs/custom-domains/email.mdx +2 -2
- package/.docs/organized/docs/deprecations/_navigation.mdx +8 -0
- package/.docs/organized/docs/deprecations/raw-attributes.mdx +136 -0
- package/.docs/organized/docs/directory-sync/attributes.mdx +50 -31
- package/.docs/organized/docs/directory-sync/example-apps.mdx +11 -11
- package/.docs/organized/docs/directory-sync/identity-provider-role-assignment.mdx +23 -26
- package/.docs/organized/docs/directory-sync/index.mdx +4 -2
- package/.docs/organized/docs/directory-sync/quick-start.mdx +3 -3
- package/.docs/organized/docs/directory-sync/understanding-events.mdx +2 -2
- package/.docs/organized/docs/domain-verification/api.mdx +8 -8
- package/.docs/organized/docs/domain-verification/index.mdx +3 -3
- package/.docs/organized/docs/email.mdx +49 -5
- package/.docs/organized/docs/events/data-syncing/events-api.mdx +3 -3
- package/.docs/organized/docs/events/data-syncing/index.mdx +2 -3
- package/.docs/organized/docs/events/data-syncing/webhooks.mdx +4 -4
- package/.docs/organized/docs/events/index.mdx +419 -33
- package/.docs/organized/docs/feature-flags/_navigation.mdx +10 -0
- package/.docs/organized/docs/feature-flags/index.mdx +80 -0
- package/.docs/organized/docs/feature-flags/slack-notifications.mdx +58 -0
- package/.docs/organized/docs/fga/_navigation.mdx +34 -54
- package/.docs/organized/docs/fga/access-checks.mdx +109 -0
- package/.docs/organized/docs/fga/assignments.mdx +124 -0
- package/.docs/organized/docs/fga/authkit-integration.mdx +92 -0
- package/.docs/organized/docs/fga/high-cardinality-entities.mdx +172 -0
- package/.docs/organized/docs/fga/idp-role-assignment.mdx +66 -0
- package/.docs/organized/docs/fga/index.mdx +94 -29
- package/.docs/organized/docs/fga/migration-openfga.mdx +306 -0
- package/.docs/organized/docs/fga/migration-oso.mdx +372 -0
- package/.docs/organized/docs/fga/migration-spicedb.mdx +364 -0
- package/.docs/organized/docs/fga/quick-start.mdx +283 -98
- package/.docs/organized/docs/fga/resource-discovery.mdx +78 -0
- package/.docs/organized/docs/fga/resource-types.mdx +165 -0
- package/.docs/organized/docs/fga/resources.mdx +179 -59
- package/.docs/organized/docs/fga/roles-and-permissions.mdx +122 -0
- package/.docs/organized/docs/fga/standalone-integration.mdx +176 -0
- package/.docs/organized/docs/glossary.mdx +7 -3
- package/.docs/organized/docs/integrations/access-people-hr.mdx +1 -1
- package/.docs/organized/docs/integrations/adp-oidc.mdx +1 -1
- package/.docs/organized/docs/integrations/apple.mdx +112 -69
- package/.docs/organized/docs/integrations/auth0-directory-sync.mdx +3 -1
- package/.docs/organized/docs/integrations/auth0-enterprise-connection.mdx +3 -1
- package/.docs/organized/docs/integrations/auth0-saml.mdx +3 -1
- package/.docs/organized/docs/integrations/bamboohr.mdx +4 -4
- package/.docs/organized/docs/integrations/breathe-hr.mdx +1 -1
- package/.docs/organized/docs/integrations/bubble.mdx +1 -1
- package/.docs/organized/docs/integrations/cas-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/classlink-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/clever-oidc.mdx +94 -0
- package/.docs/organized/docs/integrations/cloudflare-saml.mdx +35 -2
- package/.docs/organized/docs/integrations/cyberark-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/cyberark-scim.mdx +1 -1
- package/.docs/organized/docs/integrations/duo-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/entra-id-oidc.mdx +198 -0
- package/.docs/organized/docs/integrations/entra-id-saml.mdx +3 -3
- package/.docs/organized/docs/integrations/entra-id-scim.mdx +5 -1
- package/.docs/organized/docs/integrations/fourth.mdx +2 -2
- package/.docs/organized/docs/integrations/github-oauth.mdx +80 -33
- package/.docs/organized/docs/integrations/gitlab-oauth.mdx +86 -31
- package/.docs/organized/docs/integrations/google-directory-sync.mdx +5 -1
- package/.docs/organized/docs/integrations/google-oauth.mdx +87 -70
- package/.docs/organized/docs/integrations/google-oidc.mdx +142 -0
- package/.docs/organized/docs/integrations/google-saml.mdx +3 -3
- package/.docs/organized/docs/integrations/hibob.mdx +17 -4
- package/.docs/organized/docs/integrations/intuit-oauth.mdx +128 -0
- package/.docs/organized/docs/integrations/jumpcloud-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/jumpcloud-scim.mdx +5 -1
- package/.docs/organized/docs/integrations/keycloak-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/lastpass-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/linkedin-oauth.mdx +69 -30
- package/.docs/organized/docs/integrations/microsoft-ad-fs-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/microsoft-oauth.mdx +95 -38
- package/.docs/organized/docs/integrations/miniorange-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/net-iq-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/next-auth.mdx +1 -1
- package/.docs/organized/docs/integrations/oidc.mdx +37 -24
- package/.docs/organized/docs/integrations/okta-oidc.mdx +149 -0
- package/.docs/organized/docs/integrations/okta-saml.mdx +3 -3
- package/.docs/organized/docs/integrations/okta-scim.mdx +6 -2
- package/.docs/organized/docs/integrations/onelogin-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/onelogin-scim.mdx +1 -1
- package/.docs/organized/docs/integrations/oracle-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/pingfederate-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/pingfederate-scim.mdx +1 -1
- package/.docs/organized/docs/integrations/pingone-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/rippling-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/rippling-scim.mdx +1 -1
- package/.docs/organized/docs/integrations/sailpoint-scim.mdx +77 -0
- package/.docs/organized/docs/integrations/salesforce-oauth.mdx +116 -0
- package/.docs/organized/docs/integrations/salesforce-saml.mdx +4 -4
- package/.docs/organized/docs/integrations/saml.mdx +43 -23
- package/.docs/organized/docs/integrations/scim.mdx +36 -24
- package/.docs/organized/docs/integrations/sftp.mdx +59 -36
- package/.docs/organized/docs/integrations/shibboleth-generic-saml.mdx +1 -1
- package/.docs/organized/docs/integrations/shibboleth-unsolicited-saml.mdx +1 -1
- package/.docs/organized/docs/integrations/simple-saml-php.mdx +2 -2
- package/.docs/organized/docs/integrations/slack-oauth.mdx +53 -49
- package/.docs/organized/docs/integrations/supabase-authkit.mdx +46 -0
- package/.docs/organized/docs/integrations/{supabase.mdx → supabase-sso.mdx} +6 -4
- package/.docs/organized/docs/integrations/vercel-oauth.mdx +120 -0
- package/.docs/organized/docs/integrations/vmware-saml.mdx +2 -2
- package/.docs/organized/docs/integrations/workday.mdx +1 -1
- package/.docs/organized/docs/integrations/xero-oauth.mdx +77 -32
- package/.docs/organized/docs/magic-link/example-apps.mdx +11 -11
- package/.docs/organized/docs/magic-link/index.mdx +2 -0
- package/.docs/organized/docs/mfa/example-apps.mdx +2 -2
- package/.docs/organized/docs/mfa/index.mdx +2 -2
- package/.docs/organized/docs/mfa/ux/enrollment.mdx +1 -1
- package/.docs/organized/docs/mfa/ux/sign-in.mdx +1 -1
- package/.docs/organized/docs/migrate/_navigation.mdx +21 -1
- package/.docs/organized/docs/migrate/auth0.mdx +5 -5
- package/.docs/organized/docs/migrate/aws-cognito.mdx +5 -5
- package/.docs/organized/docs/migrate/better-auth.mdx +282 -0
- package/.docs/organized/docs/migrate/clerk.mdx +9 -11
- package/.docs/organized/docs/migrate/descope.mdx +290 -0
- package/.docs/organized/docs/migrate/firebase.mdx +4 -4
- package/.docs/organized/docs/migrate/other-services.mdx +25 -6
- package/.docs/organized/docs/migrate/standalone-sso.mdx +14 -14
- package/.docs/organized/docs/migrate/stytch.mdx +363 -0
- package/.docs/organized/docs/migrate/supabase.mdx +255 -0
- package/.docs/organized/docs/on-prem-deployment.mdx +1 -1
- package/.docs/organized/docs/pipes/_navigation.mdx +12 -0
- package/.docs/organized/docs/pipes/index.mdx +75 -0
- package/.docs/organized/docs/pipes/providers.mdx +9 -0
- package/.docs/organized/docs/rbac/_navigation.mdx +16 -0
- package/.docs/organized/docs/rbac/configuration.mdx +80 -0
- package/.docs/organized/docs/rbac/idp-role-assignment.mdx +79 -0
- package/.docs/organized/docs/rbac/index.mdx +24 -0
- package/.docs/organized/docs/rbac/integration.mdx +59 -0
- package/.docs/organized/docs/rbac/organization-roles.mdx +38 -0
- package/.docs/organized/docs/rbac/quick-start.mdx +52 -0
- package/.docs/organized/docs/reference/_navigation.mdx +437 -284
- package/.docs/organized/docs/reference/admin-portal/portal-link/index.mdx +1 -1
- package/.docs/organized/docs/reference/admin-portal/provider-icons/index.mdx +3 -3
- package/.docs/organized/docs/reference/{api-keys.mdx → api-authentication/index.mdx} +3 -3
- package/.docs/organized/docs/reference/audit-logs/configuration/index.mdx +97 -0
- package/.docs/organized/docs/reference/audit-logs/{create-event.mdx → event/create.mdx} +12 -2
- package/.docs/organized/docs/reference/audit-logs/event/index.mdx +92 -0
- package/.docs/organized/docs/reference/audit-logs/{create-export.mdx → export/create.mdx} +1 -1
- package/.docs/organized/docs/reference/audit-logs/{get-export.mdx → export/get.mdx} +1 -1
- package/.docs/organized/docs/reference/audit-logs/{audit-log-export.mdx → export/index.mdx} +11 -12
- package/.docs/organized/docs/reference/audit-logs/{get-retention.mdx → retention/get.mdx} +1 -1
- package/.docs/organized/docs/reference/audit-logs/retention/index.mdx +25 -0
- package/.docs/organized/docs/reference/audit-logs/{set-retention.mdx → retention/set.mdx} +1 -1
- package/.docs/organized/docs/reference/audit-logs/{create-schema.mdx → schema/create.mdx} +1 -1
- package/.docs/organized/docs/reference/audit-logs/{audit-log-schema.mdx → schema/index.mdx} +5 -6
- package/.docs/organized/docs/reference/audit-logs/{list-actions.mdx → schema/list-actions.mdx} +2 -1
- package/.docs/organized/docs/reference/audit-logs/{list-schemas.mdx → schema/list.mdx} +1 -1
- package/.docs/organized/docs/reference/authkit/api-keys/create-for-organization.mdx +40 -0
- package/.docs/organized/docs/reference/authkit/api-keys/delete.mdx +23 -0
- package/.docs/organized/docs/reference/authkit/api-keys/index.mdx +275 -0
- package/.docs/organized/docs/reference/authkit/api-keys/list-for-organization.mdx +41 -0
- package/.docs/organized/docs/reference/authkit/api-keys/validate.mdx +77 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/code.mdx +138 -18
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/email-verification.mdx +10 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/get-authorization-url/error-codes.mdx +3 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/get-authorization-url/index.mdx +64 -17
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/get-authorization-url/pkce.mdx +2 -2
- package/.docs/organized/docs/reference/authkit/authentication/get-authorization-url/redirect-uri.mdx +47 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/index.mdx +19 -11
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/magic-auth.mdx +9 -9
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/organization-selection.mdx +9 -9
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/password.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/refresh-and-seal-session-data.mdx +3 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/refresh-token.mdx +17 -17
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/session-cookie.mdx +7 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication/totp.mdx +10 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/email-verification-required-error.mdx +3 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/index.mdx +1 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/mfa-challenge-error.mdx +3 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/mfa-enrollment-error.mdx +3 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/organization-authentication-required-error.mdx +3 -3
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/organization-selection-error.mdx +3 -4
- package/.docs/organized/docs/reference/{user-management → authkit}/authentication-errors/sso-required-error.mdx +3 -3
- package/.docs/organized/docs/reference/authkit/cli-auth/device-authorization.mdx +61 -0
- package/.docs/organized/docs/reference/authkit/cli-auth/device-code.mdx +57 -0
- package/.docs/organized/docs/reference/authkit/cli-auth/error-codes.mdx +31 -0
- package/.docs/organized/docs/reference/authkit/cli-auth/index.mdx +22 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/email-verification/get.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/email-verification/index.mdx +9 -11
- package/.docs/organized/docs/reference/{user-management → authkit}/identity/index.mdx +6 -9
- package/.docs/organized/docs/reference/{user-management → authkit}/identity/list.mdx +5 -6
- package/.docs/organized/docs/reference/authkit/index.mdx +13 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/invitation/accept.mdx +5 -5
- package/.docs/organized/docs/reference/{user-management → authkit}/invitation/find-by-token.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/invitation/get.mdx +8 -9
- package/.docs/organized/docs/reference/{user-management → authkit}/invitation/index.mdx +10 -15
- package/.docs/organized/docs/reference/{user-management → authkit}/invitation/list.mdx +10 -11
- package/.docs/organized/docs/reference/authkit/invitation/resend.mdx +109 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/invitation/revoke.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/invitation/send.mdx +23 -13
- package/.docs/organized/docs/reference/{user-management → authkit}/logout/get-logout-url-from-session-cookie.mdx +2 -2
- package/.docs/organized/docs/reference/{user-management → authkit}/logout/get-logout-url.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/logout/index.mdx +4 -5
- package/.docs/organized/docs/reference/{user-management → authkit}/magic-auth/create.mdx +10 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/magic-auth/get.mdx +9 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/magic-auth/index.mdx +10 -15
- package/.docs/organized/docs/reference/{user-management → authkit}/mfa/authentication-challenge.mdx +9 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/mfa/authentication-factor.mdx +11 -11
- package/.docs/organized/docs/reference/{user-management → authkit}/mfa/enroll-auth-factor.mdx +19 -15
- package/.docs/organized/docs/reference/authkit/mfa/index.mdx +11 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/mfa/list-auth-factors.mdx +9 -9
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/create.mdx +27 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/deactivate.mdx +10 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/delete.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/get.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/index.mdx +107 -14
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/list.mdx +10 -10
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/reactivate.mdx +11 -11
- package/.docs/organized/docs/reference/{user-management → authkit}/organization-membership/update.mdx +25 -9
- package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/create.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/get.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/index.mdx +10 -12
- package/.docs/organized/docs/reference/{user-management → authkit}/password-reset/reset-password.mdx +8 -8
- package/.docs/organized/docs/reference/authkit/session/index.mdx +128 -0
- package/.docs/organized/docs/reference/authkit/session/list.mdx +110 -0
- package/.docs/organized/docs/reference/authkit/session/revoke.mdx +73 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/authenticate.mdx +22 -6
- package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/get-logout-url.mdx +5 -5
- package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/index.mdx +2 -2
- package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/load-sealed-session.mdx +4 -4
- package/.docs/organized/docs/reference/{user-management → authkit}/session-helpers/refresh.mdx +18 -6
- package/.docs/organized/docs/reference/{user-management → authkit}/session-tokens/access-token.mdx +16 -8
- package/.docs/organized/docs/reference/authkit/session-tokens/index.mdx +5 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/session-tokens/jwks.mdx +8 -8
- package/.docs/organized/docs/reference/authkit/session-tokens/refresh-token.mdx +8 -0
- package/.docs/organized/docs/reference/{user-management → authkit}/user/create.mdx +36 -17
- package/.docs/organized/docs/reference/{user-management → authkit}/user/delete.mdx +8 -9
- package/.docs/organized/docs/reference/{user-management → authkit}/user/get-by-external-id.mdx +16 -4
- package/.docs/organized/docs/reference/{user-management → authkit}/user/get.mdx +8 -8
- package/.docs/organized/docs/reference/{user-management → authkit}/user/index.mdx +25 -15
- package/.docs/organized/docs/reference/{user-management → authkit}/user/list.mdx +9 -12
- package/.docs/organized/docs/reference/{user-management → authkit}/user/update.mdx +43 -20
- package/.docs/organized/docs/reference/{client-libraries.mdx → client-libraries/index.mdx} +2 -2
- package/.docs/organized/docs/reference/directory-sync/directory/index.mdx +1 -1
- package/.docs/organized/docs/reference/directory-sync/directory-group/index.mdx +1 -24
- package/.docs/organized/docs/reference/directory-sync/directory-user/index.mdx +1 -29
- package/.docs/organized/docs/reference/directory-sync/directory-user/list.mdx +1 -1
- package/.docs/organized/docs/reference/directory-sync/index.mdx +1 -1
- package/.docs/organized/docs/reference/domain-verification/create.mdx +35 -0
- package/.docs/organized/docs/reference/domain-verification/delete.mdx +55 -0
- package/.docs/organized/docs/reference/domain-verification/get.mdx +29 -0
- package/.docs/organized/docs/reference/domain-verification/index.mdx +57 -1
- package/.docs/organized/docs/reference/domain-verification/verify.mdx +29 -0
- package/.docs/organized/docs/reference/{errors.mdx → errors/index.mdx} +1 -1
- package/.docs/organized/docs/reference/events/list.mdx +5 -4
- package/.docs/organized/docs/reference/feature-flags/flag/disable.mdx +33 -0
- package/.docs/organized/docs/reference/feature-flags/flag/enable.mdx +33 -0
- package/.docs/organized/docs/reference/feature-flags/flag/get.mdx +32 -0
- package/.docs/organized/docs/reference/feature-flags/flag/index.mdx +116 -0
- package/.docs/organized/docs/reference/feature-flags/flag/list.mdx +67 -0
- package/.docs/organized/docs/reference/feature-flags/index.mdx +123 -0
- package/.docs/organized/docs/reference/feature-flags/targeting/add.mdx +43 -0
- package/.docs/organized/docs/reference/feature-flags/targeting/index.mdx +23 -0
- package/.docs/organized/docs/reference/feature-flags/targeting/list-for-organization.mdx +132 -0
- package/.docs/organized/docs/reference/feature-flags/targeting/list-for-user.mdx +94 -0
- package/.docs/organized/docs/reference/feature-flags/targeting/remove.mdx +43 -0
- package/.docs/organized/docs/reference/fga/access-check/check.mdx +102 -0
- package/.docs/organized/docs/reference/fga/access-check/index.mdx +6 -0
- package/.docs/organized/docs/reference/fga/access-check/list-memberships-by-external-id.mdx +143 -0
- package/.docs/organized/docs/reference/fga/access-check/list-memberships.mdx +127 -0
- package/.docs/organized/docs/reference/fga/access-check/list-resources.mdx +152 -0
- package/.docs/organized/docs/reference/fga/index.mdx +14 -2
- package/.docs/organized/docs/reference/fga/resource/create.mdx +74 -88
- package/.docs/organized/docs/reference/fga/resource/delete-by-external-id.mdx +78 -0
- package/.docs/organized/docs/reference/fga/resource/delete.mdx +38 -62
- package/.docs/organized/docs/reference/fga/resource/get-by-external-id.mdx +60 -0
- package/.docs/organized/docs/reference/fga/resource/get.mdx +15 -63
- package/.docs/organized/docs/reference/fga/resource/index.mdx +74 -73
- package/.docs/organized/docs/reference/fga/resource/list.mdx +90 -131
- package/.docs/organized/docs/reference/fga/resource/update-by-external-id.mdx +81 -0
- package/.docs/organized/docs/reference/fga/resource/update.mdx +29 -85
- package/.docs/organized/docs/reference/fga/role-assignment/create.mdx +89 -0
- package/.docs/organized/docs/reference/fga/role-assignment/delete-by-id.mdx +59 -0
- package/.docs/organized/docs/reference/fga/role-assignment/delete.mdx +90 -0
- package/.docs/organized/docs/reference/fga/role-assignment/index.mdx +106 -0
- package/.docs/organized/docs/reference/fga/role-assignment/list.mdx +86 -0
- package/.docs/organized/docs/reference/index.mdx +21 -12
- package/.docs/organized/docs/reference/magic-link/passwordless-session/index.mdx +1 -1
- package/.docs/organized/docs/reference/mfa/{challenge-factor.mdx → challenge/create.mdx} +1 -1
- package/.docs/organized/docs/reference/mfa/{authentication-challenge.mdx → challenge/index.mdx} +11 -14
- package/.docs/organized/docs/reference/mfa/{verify-challenge.mdx → challenge/verify.mdx} +10 -12
- package/.docs/organized/docs/reference/mfa/{delete-factor.mdx → factor/delete.mdx} +1 -1
- package/.docs/organized/docs/reference/mfa/{enroll-factor.mdx → factor/enroll.mdx} +1 -1
- package/.docs/organized/docs/reference/mfa/{get-factor.mdx → factor/get.mdx} +1 -1
- package/.docs/organized/docs/reference/mfa/{authentication-factor.mdx → factor/index.mdx} +11 -12
- package/.docs/organized/docs/reference/organization/create.mdx +1 -6
- package/.docs/organized/docs/reference/organization/get-by-external-id.mdx +1 -1
- package/.docs/organized/docs/reference/organization/index.mdx +5 -5
- package/.docs/organized/docs/reference/organization/update.mdx +1 -1
- package/.docs/organized/docs/reference/{pagination.mdx → pagination/index.mdx} +1 -3
- package/.docs/organized/docs/reference/pipes/access-token/get.mdx +174 -0
- package/.docs/organized/docs/reference/pipes/access-token/index.mdx +44 -0
- package/.docs/organized/docs/reference/pipes/connected-account/delete.mdx +42 -0
- package/.docs/organized/docs/reference/pipes/connected-account/get-authorize-url.mdx +49 -0
- package/.docs/organized/docs/reference/pipes/connected-account/get.mdx +42 -0
- package/.docs/organized/docs/reference/pipes/connected-account/index.mdx +69 -0
- package/.docs/organized/docs/reference/pipes/index.mdx +8 -0
- package/.docs/organized/docs/reference/pipes/provider/index.mdx +70 -0
- package/.docs/organized/docs/reference/pipes/provider/list.mdx +47 -0
- package/.docs/organized/docs/reference/radar/attempts/index.mdx +1 -1
- package/.docs/organized/docs/reference/radar/lists/index.mdx +1 -1
- package/.docs/organized/docs/reference/rate-limits/index.mdx +56 -0
- package/.docs/organized/docs/reference/roles/index.mdx +12 -262
- package/.docs/organized/docs/reference/roles/organization-role/add-permission.mdx +75 -0
- package/.docs/organized/docs/reference/roles/organization-role/create.mdx +95 -0
- package/.docs/organized/docs/reference/roles/organization-role/delete.mdx +47 -0
- package/.docs/organized/docs/reference/roles/organization-role/get.mdx +55 -0
- package/.docs/organized/docs/reference/roles/organization-role/index.mdx +148 -0
- package/.docs/organized/docs/reference/roles/organization-role/list.mdx +68 -0
- package/.docs/organized/docs/reference/roles/organization-role/remove-permission.mdx +68 -0
- package/.docs/organized/docs/reference/roles/organization-role/set-permissions.mdx +79 -0
- package/.docs/organized/docs/reference/roles/organization-role/update.mdx +85 -0
- package/.docs/organized/docs/reference/roles/permission/create.mdx +101 -0
- package/.docs/organized/docs/reference/roles/permission/delete.mdx +38 -0
- package/.docs/organized/docs/reference/roles/permission/get.mdx +45 -0
- package/.docs/organized/docs/reference/roles/permission/index.mdx +128 -0
- package/.docs/organized/docs/reference/roles/permission/list.mdx +91 -0
- package/.docs/organized/docs/reference/roles/permission/update.mdx +80 -0
- package/.docs/organized/docs/reference/roles/role/add-permission.mdx +63 -0
- package/.docs/organized/docs/reference/roles/role/create.mdx +103 -0
- package/.docs/organized/docs/reference/roles/role/get.mdx +52 -0
- package/.docs/organized/docs/reference/roles/role/index.mdx +135 -0
- package/.docs/organized/docs/reference/roles/role/list.mdx +56 -0
- package/.docs/organized/docs/reference/roles/role/set-permissions.mdx +67 -0
- package/.docs/organized/docs/reference/roles/role/update.mdx +78 -0
- package/.docs/organized/docs/reference/sso/connection/index.mdx +2 -2
- package/.docs/organized/docs/reference/sso/get-authorization-url/error-codes.mdx +5 -3
- package/.docs/organized/docs/reference/sso/get-authorization-url/index.mdx +24 -2
- package/.docs/organized/docs/reference/sso/get-authorization-url/redirect-uri.mdx +25 -1
- package/.docs/organized/docs/reference/sso/index.mdx +1 -1
- package/.docs/organized/docs/reference/sso/logout/authorize.mdx +0 -1
- package/.docs/organized/docs/reference/sso/logout/index.mdx +1 -2
- package/.docs/organized/docs/reference/sso/logout/redirect.mdx +0 -1
- package/.docs/organized/docs/reference/sso/profile/get-profile-and-token.mdx +13 -1
- package/.docs/organized/docs/reference/sso/profile/index.mdx +25 -24
- package/.docs/organized/docs/reference/{testing.mdx → testing/index.mdx} +1 -1
- package/.docs/organized/docs/reference/vault/key/create-data-key.mdx +29 -0
- package/.docs/organized/docs/reference/vault/key/decrypt-data-key.mdx +20 -0
- package/.docs/organized/docs/reference/vault/key/decrypt-data.mdx +24 -0
- package/.docs/organized/docs/reference/vault/key/encrypt-data.mdx +20 -0
- package/.docs/organized/docs/reference/vault/object/create.mdx +17 -0
- package/.docs/organized/docs/reference/vault/object/delete.mdx +12 -0
- package/.docs/organized/docs/reference/vault/object/get-by-name.mdx +61 -0
- package/.docs/organized/docs/reference/vault/object/get.mdx +11 -0
- package/.docs/organized/docs/reference/vault/object/index.mdx +50 -4
- package/.docs/organized/docs/reference/vault/object/list.mdx +40 -1
- package/.docs/organized/docs/reference/vault/object/update.mdx +18 -0
- package/.docs/organized/docs/reference/vault/object/version.mdx +15 -2
- package/.docs/organized/docs/reference/vault/object/versions.mdx +13 -0
- package/.docs/organized/docs/reference/widgets/get-token.mdx +8 -5
- package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/create.mdx +55 -0
- package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/delete.mdx +28 -0
- package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/index.mdx +60 -0
- package/.docs/organized/docs/reference/workos-connect/applications/client-secrets/list.mdx +52 -0
- package/.docs/organized/docs/reference/workos-connect/applications/create.mdx +79 -0
- package/.docs/organized/docs/reference/workos-connect/applications/delete.mdx +28 -0
- package/.docs/organized/docs/reference/workos-connect/applications/get.mdx +59 -0
- package/.docs/organized/docs/reference/workos-connect/applications/index.mdx +40 -0
- package/.docs/organized/docs/reference/workos-connect/applications/list.mdx +49 -0
- package/.docs/organized/docs/reference/workos-connect/applications/m2m.mdx +52 -0
- package/.docs/organized/docs/reference/workos-connect/applications/oauth.mdx +85 -0
- package/.docs/organized/docs/reference/workos-connect/applications/update.mdx +59 -0
- package/.docs/organized/docs/reference/workos-connect/authorize/index.mdx +29 -1
- package/.docs/organized/docs/reference/workos-connect/cli-auth/authorize-device/index.mdx +81 -0
- package/.docs/organized/docs/reference/workos-connect/cli-auth/device-code-grant.mdx +74 -0
- package/.docs/organized/docs/reference/workos-connect/cli-auth/index.mdx +23 -0
- package/.docs/organized/docs/reference/workos-connect/index.mdx +1 -1
- package/.docs/organized/docs/reference/workos-connect/introspection/index.mdx +8 -3
- package/.docs/organized/docs/reference/workos-connect/metadata/index.mdx +1 -1
- package/.docs/organized/docs/reference/workos-connect/metadata/oauth-authorization-server/index.mdx +1 -1
- package/.docs/organized/docs/reference/workos-connect/standalone/complete.mdx +68 -0
- package/.docs/organized/docs/reference/workos-connect/standalone/index.mdx +9 -0
- package/.docs/organized/docs/reference/workos-connect/standalone/user-consent-options.mdx +41 -0
- package/.docs/organized/docs/reference/workos-connect/token/authorization-code-grant/access-token.mdx +6 -0
- package/.docs/organized/docs/reference/workos-connect/token/authorization-code-grant/id-token.mdx +1 -1
- package/.docs/organized/docs/reference/workos-connect/token/{authorization-code-grant/index.mdx → authorization-code-grant.mdx} +23 -2
- package/.docs/organized/docs/reference/workos-connect/token/client-credentials-grant/access-token.mdx +1 -1
- package/.docs/organized/docs/reference/workos-connect/token/{client-credentials-grant/index.mdx → client-credentials-grant.mdx} +2 -2
- package/.docs/organized/docs/reference/workos-connect/token/index.mdx +5 -4
- package/.docs/organized/docs/reference/workos-connect/token/refresh-token-grant.mdx +1 -1
- package/.docs/organized/docs/reference/workos-connect/userinfo/index.mdx +2 -2
- package/.docs/organized/docs/sdks/authkit-js.mdx +14 -0
- package/.docs/organized/docs/sdks/authkit-nextjs.mdx +14 -0
- package/.docs/organized/docs/sdks/authkit-react-router.mdx +14 -0
- package/.docs/organized/docs/sdks/authkit-react.mdx +14 -0
- package/.docs/organized/docs/sdks/authkit-remix.mdx +14 -0
- package/.docs/organized/docs/sdks/authkit-tanstack-start.mdx +14 -0
- package/.docs/organized/docs/sso/_navigation.mdx +8 -2
- package/.docs/organized/docs/sso/attributes.mdx +15 -3
- package/.docs/organized/docs/sso/domains.mdx +8 -6
- package/.docs/organized/docs/sso/example-apps.mdx +2 -2
- package/.docs/organized/docs/sso/identity-provider-role-assignment.mdx +30 -30
- package/.docs/organized/docs/sso/index.mdx +7 -6
- package/.docs/organized/docs/sso/it-team-faq.mdx +1 -1
- package/.docs/organized/docs/sso/jit-provisioning.mdx +2 -3
- package/.docs/organized/docs/sso/launch-checklist.mdx +2 -2
- package/.docs/organized/docs/sso/login-flows.mdx +3 -3
- package/.docs/organized/docs/sso/redirect-uris.mdx +22 -11
- package/.docs/organized/docs/sso/saml-security.mdx +1 -1
- package/.docs/organized/docs/sso/sign-in-consent.mdx +59 -0
- package/.docs/organized/docs/sso/signing-certificates.mdx +7 -7
- package/.docs/organized/docs/sso/single-logout.mdx +0 -1
- package/.docs/organized/docs/sso/ux/sessions.mdx +99 -0
- package/.docs/organized/docs/sso/ux/sign-in.mdx +1 -1
- package/.docs/organized/docs/vault/_navigation.mdx +2 -0
- package/.docs/organized/docs/vault/byok.mdx +140 -0
- package/.docs/organized/docs/vault/index.mdx +1 -1
- package/.docs/organized/docs/widgets/_navigation.mdx +48 -0
- package/.docs/organized/docs/widgets/admin-portal-domain-verification.mdx +24 -0
- package/.docs/organized/docs/widgets/admin-portal-sso-connection.mdx +20 -0
- package/.docs/organized/docs/widgets/api-keys.mdx +28 -0
- package/.docs/organized/docs/widgets/audit-log-streaming.mdx +25 -0
- package/.docs/organized/docs/widgets/directory-sync.mdx +23 -0
- package/.docs/organized/docs/widgets/index.mdx +12 -0
- package/.docs/organized/docs/widgets/localization.mdx +111 -0
- package/.docs/organized/docs/widgets/organization-switcher.mdx +47 -0
- package/.docs/organized/docs/widgets/pipes.mdx +27 -0
- package/.docs/organized/docs/widgets/quick-start.mdx +38 -0
- package/.docs/organized/docs/widgets/styling/css-customization.mdx +100 -0
- package/.docs/organized/docs/widgets/styling/index.mdx +29 -0
- package/.docs/organized/docs/widgets/styling/theme-customization.mdx +51 -0
- package/.docs/organized/docs/widgets/tokens.mdx +17 -0
- package/.docs/organized/docs/widgets/user-management.mdx +28 -0
- package/.docs/organized/docs/widgets/user-profile.mdx +30 -0
- package/.docs/organized/docs/widgets/user-security.mdx +31 -0
- package/.docs/organized/docs/widgets/user-sessions.mdx +26 -0
- package/LICENSE +21 -0
- package/README.md +14 -1
- package/dist/prepare.js +1 -1
- package/dist/prepare.js.map +1 -1
- package/package.json +2 -1
- package/.docs/organized/docs/dashboard.mdx +0 -244
- package/.docs/organized/docs/demo/_navigation.mdx +0 -26
- package/.docs/organized/docs/demo/accordion.mdx +0 -34
- package/.docs/organized/docs/demo/checklist.mdx +0 -33
- package/.docs/organized/docs/demo/code-block.mdx +0 -185
- package/.docs/organized/docs/demo/definition-list.mdx +0 -35
- package/.docs/organized/docs/demo/index.mdx +0 -7
- package/.docs/organized/docs/demo/punctuation.mdx +0 -37
- package/.docs/organized/docs/demo/replacements.mdx +0 -26
- package/.docs/organized/docs/demo/table.mdx +0 -26
- package/.docs/organized/docs/demo/tabs.mdx +0 -17
- package/.docs/organized/docs/fga/identity-provider-sessions.mdx +0 -68
- package/.docs/organized/docs/fga/local-development.mdx +0 -155
- package/.docs/organized/docs/fga/modeling/abac.mdx +0 -107
- package/.docs/organized/docs/fga/modeling/blocklist.mdx +0 -84
- package/.docs/organized/docs/fga/modeling/conditional-roles.mdx +0 -99
- package/.docs/organized/docs/fga/modeling/custom-roles.mdx +0 -90
- package/.docs/organized/docs/fga/modeling/entitlements.mdx +0 -127
- package/.docs/organized/docs/fga/modeling/managed-service-provider.mdx +0 -131
- package/.docs/organized/docs/fga/modeling/org-roles-and-permissions.mdx +0 -95
- package/.docs/organized/docs/fga/modeling/policy-context.mdx +0 -231
- package/.docs/organized/docs/fga/modeling/public-access.mdx +0 -61
- package/.docs/organized/docs/fga/modeling/shareable-content.mdx +0 -106
- package/.docs/organized/docs/fga/modeling/superusers.mdx +0 -74
- package/.docs/organized/docs/fga/modeling/user-groups.mdx +0 -92
- package/.docs/organized/docs/fga/operations-usage.mdx +0 -104
- package/.docs/organized/docs/fga/playground.mdx +0 -12
- package/.docs/organized/docs/fga/policies.mdx +0 -462
- package/.docs/organized/docs/fga/query-language.mdx +0 -112
- package/.docs/organized/docs/fga/schema-management.mdx +0 -224
- package/.docs/organized/docs/fga/schema.mdx +0 -388
- package/.docs/organized/docs/fga/warrant-tokens.mdx +0 -44
- package/.docs/organized/docs/fga/warrants.mdx +0 -92
- package/.docs/organized/docs/reference/fga/batch-check.mdx +0 -277
- package/.docs/organized/docs/reference/fga/check.mdx +0 -563
- package/.docs/organized/docs/reference/fga/policy/create.mdx +0 -27
- package/.docs/organized/docs/reference/fga/policy/delete.mdx +0 -18
- package/.docs/organized/docs/reference/fga/policy/get.mdx +0 -23
- package/.docs/organized/docs/reference/fga/policy/index.mdx +0 -52
- package/.docs/organized/docs/reference/fga/policy/list.mdx +0 -41
- package/.docs/organized/docs/reference/fga/policy/update.mdx +0 -26
- package/.docs/organized/docs/reference/fga/query.mdx +0 -375
- package/.docs/organized/docs/reference/fga/resource/batch-write.mdx +0 -175
- package/.docs/organized/docs/reference/fga/resource-type/apply.mdx +0 -35
- package/.docs/organized/docs/reference/fga/resource-type/create.mdx +0 -24
- package/.docs/organized/docs/reference/fga/resource-type/delete.mdx +0 -22
- package/.docs/organized/docs/reference/fga/resource-type/get.mdx +0 -23
- package/.docs/organized/docs/reference/fga/resource-type/index.mdx +0 -68
- package/.docs/organized/docs/reference/fga/resource-type/list.mdx +0 -36
- package/.docs/organized/docs/reference/fga/resource-type/update.mdx +0 -23
- package/.docs/organized/docs/reference/fga/schema/apply.mdx +0 -42
- package/.docs/organized/docs/reference/fga/schema/get.mdx +0 -24
- package/.docs/organized/docs/reference/fga/schema/index.mdx +0 -39
- package/.docs/organized/docs/reference/fga/warrant/batch-write.mdx +0 -226
- package/.docs/organized/docs/reference/fga/warrant/create.mdx +0 -215
- package/.docs/organized/docs/reference/fga/warrant/delete.mdx +0 -212
- package/.docs/organized/docs/reference/fga/warrant/index.mdx +0 -186
- package/.docs/organized/docs/reference/fga/warrant/list.mdx +0 -282
- package/.docs/organized/docs/reference/idempotency.mdx +0 -21
- package/.docs/organized/docs/reference/organization-domain.mdx +0 -189
- package/.docs/organized/docs/reference/rate-limits.mdx +0 -50
- package/.docs/organized/docs/reference/roles/list-for-organization.mdx +0 -152
- package/.docs/organized/docs/reference/user-management/access-token/index.mdx +0 -13
- package/.docs/organized/docs/reference/user-management/authentication/get-authorization-url/redirect-uri.mdx +0 -23
- package/.docs/organized/docs/reference/user-management/index.mdx +0 -13
- package/.docs/organized/docs/reference/user-management/mfa/index.mdx +0 -5
- package/.docs/organized/docs/reference/user-management/session-tokens/index.mdx +0 -5
- package/.docs/organized/docs/reference/user-management/session-tokens/refresh-token.mdx +0 -8
- package/.docs/organized/docs/user-management/_navigation.mdx +0 -87
- package/.docs/organized/docs/user-management/authkit.mdx +0 -69
- package/.docs/organized/docs/user-management/connect.mdx +0 -110
- package/.docs/organized/docs/user-management/directory-provisioning.mdx +0 -78
- package/.docs/organized/docs/user-management/email-verification.mdx +0 -29
- package/.docs/organized/docs/user-management/entitlements.mdx +0 -46
- package/.docs/organized/docs/user-management/jit-provisioning.mdx +0 -36
- package/.docs/organized/docs/user-management/overview.mdx +0 -46
- package/.docs/organized/docs/user-management/roles-and-permissions.mdx +0 -155
- package/.docs/organized/docs/user-management/users-organizations.mdx +0 -91
- package/.docs/organized/docs/user-management/widgets.mdx +0 -190
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Migrate from raw_attributes
|
|
3
|
+
description: >-
|
|
4
|
+
How to migrate from raw_attributes and legacy standard attributes to custom
|
|
5
|
+
attributes.
|
|
6
|
+
originalPath: .tmp-workos-clone/packages/docs/content/deprecations/raw-attributes.mdx
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
On **April 15, 2026**, two changes take effect across Directory Sync and SSO:
|
|
12
|
+
|
|
13
|
+
1. **`raw_attributes` will stop returning data.** The field will return an empty object everywhere your integration consumes it:
|
|
14
|
+
|
|
15
|
+
- **API responses** — when you fetch [Directory Users](/reference/directory-sync/directory-user), [Directory Groups](/reference/directory-sync/directory-group), or [SSO Profiles](/reference/sso/profile)
|
|
16
|
+
- **Webhooks and Events API** — on all Directory Sync user events (`dsync.user.created`, `dsync.user.updated`, `dsync.user.deleted`) and group events (`dsync.group.created`, `dsync.group.deleted`, `dsync.group.user_added`, `dsync.group.user_removed`)
|
|
17
|
+
|
|
18
|
+
2. **Top-level `job_title`, `username`, and `emails` will be removed** from [Directory User](/reference/directory-sync/directory-user) objects. These fields will return `null` (or `[]` for `emails`).
|
|
19
|
+
|
|
20
|
+
> **Your customers do not need to make any changes.** You do not need to coordinate with your customers' IT admins or ask them to remap anything. See the migration paths below for what you need to do.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Migrating from `raw_attributes`
|
|
25
|
+
|
|
26
|
+
If your code reads from `raw_attributes` on [Directory Users](/reference/directory-sync/directory-user) or [SSO Profiles](/reference/sso/profile), [contact us](mailto:support@workos.com) and we will automatically set up the equivalent custom attribute mappings across all of your existing connections. You then update your code to read from `custom_attributes` instead.
|
|
27
|
+
|
|
28
|
+
You can also configure custom attribute mappings yourself from the [IdP Attributes page](https://dashboard.workos.com/environment/identity-provider-attributes) in the Dashboard. See [Custom Attributes for Directory Sync](/directory-sync/attributes/custom-attributes/custom-attributes) or [Custom Attributes for SSO](/sso/attributes/custom-attributes/custom-attributes) for details.
|
|
29
|
+
|
|
30
|
+
```javascript title="Before"
|
|
31
|
+
// Directory Sync - nested fields
|
|
32
|
+
const licenseTier =
|
|
33
|
+
user.raw_attributes[
|
|
34
|
+
'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'
|
|
35
|
+
]?.license_tier;
|
|
36
|
+
const employeeId = user.raw_attributes.customSchemas?.Company?.employeeId;
|
|
37
|
+
|
|
38
|
+
// SSO
|
|
39
|
+
const department = profile.raw_attributes.department;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```javascript title="After"
|
|
43
|
+
// Directory Sync - custom attributes
|
|
44
|
+
const licenseTier = user.custom_attributes.license_tier;
|
|
45
|
+
const employeeId = user.custom_attributes.employee_id;
|
|
46
|
+
|
|
47
|
+
// SSO
|
|
48
|
+
const department = profile.custom_attributes.department_name;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
> **Using AuthKit?** If you access `raw_attributes` via the SSO Profile or Directory User API, the migration above applies to you. Additionally, you can now access IdP attributes directly in AuthKit JWTs and the Organization Membership API - no standalone API call needed. See [Custom Attributes in AuthKit](/authkit/jwt-templates/custom-attributes).
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Migrating from legacy standard attributes
|
|
56
|
+
|
|
57
|
+
If your code reads `job_title`, `username`, or `emails` from the top level of Directory User objects, you can migrate without contacting us:
|
|
58
|
+
|
|
59
|
+
1. Update your code to read from `custom_attributes` with a fallback to the top-level field, then deploy.
|
|
60
|
+
2. Enable the equivalent [predefined attribute](https://dashboard.workos.com/environment/identity-provider-attributes) in the WorkOS Dashboard.
|
|
61
|
+
|
|
62
|
+
This order ensures no data is missed during the transition - your code handles both locations until the predefined attribute is active.
|
|
63
|
+
|
|
64
|
+
```javascript title="Before"
|
|
65
|
+
const jobTitle = user.job_title;
|
|
66
|
+
const emails = user.emails;
|
|
67
|
+
const username = user.username;
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```javascript title="Step 1: Deploy with fallback"
|
|
71
|
+
const jobTitle = user.custom_attributes?.job_title ?? user.job_title;
|
|
72
|
+
const emails = user.custom_attributes?.emails ?? user.emails;
|
|
73
|
+
const username = user.custom_attributes?.username ?? user.username;
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```javascript title="Step 2: After enabling predefined attributes, clean up"
|
|
77
|
+
const jobTitle = user.custom_attributes.job_title;
|
|
78
|
+
const emails = user.custom_attributes.emails;
|
|
79
|
+
const username = user.custom_attributes.username;
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
> If you use `emails` only to get the user's primary email address, you can use the `email` standard attribute instead, which remains on the top-level Directory User object.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Example payload
|
|
87
|
+
|
|
88
|
+
```json title="Before"
|
|
89
|
+
{
|
|
90
|
+
"id": "directory_user_xxxxx",
|
|
91
|
+
"idp_id": "xyz",
|
|
92
|
+
"email": "marcelina@example.com",
|
|
93
|
+
"job_title": "Software Engineer",
|
|
94
|
+
"username": "marcelinadavis",
|
|
95
|
+
"emails": [
|
|
96
|
+
{ "type": "work", "value": "marcelina@example.com", "primary": true }
|
|
97
|
+
],
|
|
98
|
+
"custom_attributes": {},
|
|
99
|
+
"raw_attributes": {
|
|
100
|
+
"name": { "givenName": "Marcelina", "familyName": "Davis" },
|
|
101
|
+
"userName": "marcelinadavis",
|
|
102
|
+
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
|
|
103
|
+
"department": "Engineering",
|
|
104
|
+
"costCenter": "R&D"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
```json title="After"
|
|
111
|
+
{
|
|
112
|
+
"id": "directory_user_xxxxx",
|
|
113
|
+
"idp_id": "xyz",
|
|
114
|
+
"email": "marcelina@example.com",
|
|
115
|
+
"custom_attributes": {
|
|
116
|
+
"job_title": "Software Engineer",
|
|
117
|
+
"username": "marcelinadavis",
|
|
118
|
+
"emails": [
|
|
119
|
+
{ "type": "work", "value": "marcelina@example.com", "primary": true }
|
|
120
|
+
],
|
|
121
|
+
"department_name": "Engineering",
|
|
122
|
+
"cost_center_name": "R&D"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Learn more
|
|
130
|
+
|
|
131
|
+
- [Custom Attributes for Directory Sync](/directory-sync/attributes/custom-attributes/custom-attributes)
|
|
132
|
+
- [Custom Attributes for SSO](/sso/attributes/custom-attributes/custom-attributes)
|
|
133
|
+
- [Predefined Attributes](/directory-sync/attributes/custom-attributes/predefined-attributes)
|
|
134
|
+
- [Custom Attributes in AuthKit](/authkit/jwt-templates/custom-attributes) - [Changelog](https://workos.com/changelog/custom-attributes-in-authkit)
|
|
135
|
+
- [SAML Custom Attributes](https://workos.com/changelog/saml-custom-attributes)
|
|
136
|
+
- [OIDC Attributes](https://workos.com/changelog/oidc-attributes)
|
|
@@ -33,6 +33,7 @@ WorkOS can automatically find and normalize most common attributes from director
|
|
|
33
33
|
"primary": true
|
|
34
34
|
}
|
|
35
35
|
],
|
|
36
|
+
"employee_number": "E-12345",
|
|
36
37
|
"employee_type": "Full Time",
|
|
37
38
|
"employment_start_date": "2021-06-27T12:00:00.000Z",
|
|
38
39
|
"department_name": "Engineering",
|
|
@@ -40,6 +41,7 @@ WorkOS can automatically find and normalize most common attributes from director
|
|
|
40
41
|
"division_name": "Analytics",
|
|
41
42
|
"cost_center_name": "IT",
|
|
42
43
|
"job_title": "Software Engineer",
|
|
44
|
+
"organization": "Acme Corp",
|
|
43
45
|
"addresses": [
|
|
44
46
|
{
|
|
45
47
|
"type": "work",
|
|
@@ -64,27 +66,6 @@ WorkOS can automatically find and normalize most common attributes from director
|
|
|
64
66
|
],
|
|
65
67
|
"username": "jane@example.com",
|
|
66
68
|
"my_new_key": "<custom-mapped value>"
|
|
67
|
-
},
|
|
68
|
-
"raw_attributes": {
|
|
69
|
-
"name": {
|
|
70
|
-
"givenName": "Jane",
|
|
71
|
-
"familyName": "Doe"
|
|
72
|
-
},
|
|
73
|
-
"active": true,
|
|
74
|
-
"emails": [
|
|
75
|
-
{
|
|
76
|
-
"type": "work",
|
|
77
|
-
"value": "jane@example.com",
|
|
78
|
-
"primary": true
|
|
79
|
-
}
|
|
80
|
-
],
|
|
81
|
-
"groups": [],
|
|
82
|
-
"locale": "en_US",
|
|
83
|
-
"schemas": ["urn:directory:schemas:core:1.0"],
|
|
84
|
-
"password": "redacted",
|
|
85
|
-
"userName": "jane@example.com",
|
|
86
|
-
"externalId": "821991",
|
|
87
|
-
"displayName": "Jane Doe"
|
|
88
69
|
}
|
|
89
70
|
}
|
|
90
71
|
```
|
|
@@ -120,7 +101,11 @@ Every Directory User comes with the following standard attributes. These are the
|
|
|
120
101
|
|
|
121
102
|
## Custom attributes
|
|
122
103
|
|
|
123
|
-
For more detailed user information, you can opt-in to additional predefined attributes and define your own custom attributes. These attributes will appear in the
|
|
104
|
+
For more detailed user information, you can opt-in to additional predefined attributes and define your own custom attributes. These attributes will appear in the custom attributes field on [Directory User](/reference/directory-sync/directory-user) objects and can be configured in the [WorkOS Dashboard](https://dashboard.workos.com/).
|
|
105
|
+
|
|
106
|
+
> Custom attributes are configured at the environment level. To configure attributes for a specific organization, please [contact our support team](mailto:support@workos.com).
|
|
107
|
+
|
|
108
|
+
> When using AuthKit with directory provisioning, Directory User custom attributes are also available on the organization membership's `custom_attributes` field. See [JWT Templates](/authkit/jwt-templates) for how to include these in your access tokens.
|
|
124
109
|
|
|
125
110
|
### Predefined attributes
|
|
126
111
|
|
|
@@ -133,10 +118,12 @@ When enabled, the values will be mapped without additional setup. Not every dire
|
|
|
133
118
|
| `department_name` | The user’s department name |
|
|
134
119
|
| `division_name` | The user’s division name |
|
|
135
120
|
| `emails` | The user’s list of email objects (`type`, `value`, `primary`) |
|
|
121
|
+
| `employee_number` | The user's employee number assigned by the organization |
|
|
136
122
|
| `employee_type` | The user’s employment type |
|
|
137
123
|
| `employment_start_date` | The user’s start date |
|
|
138
124
|
| `job_title` | The user’s job title |
|
|
139
125
|
| `manager_email` | The email address for the user’s manager |
|
|
126
|
+
| `organization` | The name of the user’s organization |
|
|
140
127
|
| `username` | The user’s username |
|
|
141
128
|
|
|
142
129
|
#### Enable or disable a predefined attribute
|
|
@@ -171,26 +158,45 @@ When a custom attribute is deleted, the attribute will be deleted from all [Dire
|
|
|
171
158
|
|
|
172
159
|
#### Nested attributes
|
|
173
160
|
|
|
174
|
-
|
|
161
|
+
Custom attributes support nested attribute mapping. Different directory providers structure their data differently, and nested attribute support allows you or your customer to map values regardless of where they appear in the directory structure.
|
|
162
|
+
|
|
163
|
+
Nested attributes from the directory can be mapped to custom attributes using the WorkOS [Dashboard](https://dashboard.workos.com/) or [Admin Portal](/admin-portal) by selecting attributes from an interactive schema viewer. The schema viewer displays the structure of user data from their directory, allowing them to browse and select any nested field. This ensures accurate mapping without manual configuration.
|
|
164
|
+
|
|
165
|
+
##### Example: Different structures across providers
|
|
166
|
+
|
|
167
|
+
The same logical attribute (like "license") may appear at different nesting levels depending on the provider:
|
|
175
168
|
|
|
176
|
-
|
|
169
|
+
```json language="json" title="Provider A - Nested under URN"
|
|
170
|
+
{
|
|
171
|
+
"userName": "jdoe@example.com",
|
|
172
|
+
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
|
|
173
|
+
"license_tier": "silver"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
177
|
|
|
178
|
-
```json language="json" title="
|
|
178
|
+
```json language="json" title="Provider B - Under custom schemas"
|
|
179
179
|
{
|
|
180
|
-
"
|
|
181
|
-
"
|
|
182
|
-
"
|
|
180
|
+
"userName": "jdoe@example.com",
|
|
181
|
+
"customSchemas": {
|
|
182
|
+
"license_tier": "silver"
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
```
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
With nested attribute support, you can create a single custom attribute called `license_tier`, and IT admins can map it to the correct location in their specific directory provider's structure using the schema viewer.
|
|
188
188
|
|
|
189
189
|
---
|
|
190
190
|
|
|
191
|
-
## Raw attributes [
|
|
191
|
+
## Raw attributes [Deprecated]
|
|
192
|
+
|
|
193
|
+
The `raw_attributes` field on [Directory User](/reference/directory-sync/directory-user) objects is deprecated and will **stop returning data on April 15, 2026**.
|
|
194
|
+
|
|
195
|
+
[Custom attributes](/directory-sync/attributes/custom-attributes/custom-attributes) and [nested attribute mapping](/directory-sync/attributes/custom-attributes/custom-attributes) are the recommended replacements. These features provide a consistent, structured API while giving IT admins the flexibility to map any field from their directory provider.
|
|
192
196
|
|
|
193
|
-
|
|
197
|
+
Contact support [via email](mailto:support@workos.com) or Slack if you need help with the migration. We also have tooling to automate the WorkOS-side configuration on your behalf.
|
|
198
|
+
|
|
199
|
+
For a full migration walkthrough covering Directory Sync, SSO, and AuthKit, see the [migration guide](/deprecations/raw-attributes).
|
|
194
200
|
|
|
195
201
|
---
|
|
196
202
|
|
|
@@ -207,3 +213,16 @@ We do not currently support this functionality, as you have to define any custom
|
|
|
207
213
|
### What happens if an attribute cannot be mapped from the IdP?
|
|
208
214
|
|
|
209
215
|
Attributes that cannot be mapped for a particular [Directory User](/reference/directory-sync/directory-user) will result in a `null` value for the attribute. [dsync.user.updated](/events/directory-sync) events are not emitted when an attribute changes from `null` to `undefined` or vice versa.
|
|
216
|
+
|
|
217
|
+
### How do IT admins map nested attributes?
|
|
218
|
+
|
|
219
|
+
IT admins can map nested attributes using the schema viewer in the WorkOS [Admin Portal](/admin-portal) when configuring their directory. The schema viewer displays the actual structure of user data from their directory provider, showing how attributes are organized.
|
|
220
|
+
|
|
221
|
+
To map a nested attribute:
|
|
222
|
+
|
|
223
|
+
1. IT admins navigate to the attribute mapping step during directory configuration
|
|
224
|
+
2. They view a visual representation of their directory's user data structure
|
|
225
|
+
3. They select any field, regardless of nesting level, from the schema viewer
|
|
226
|
+
4. The mapping is automatically configured for that nested attribute
|
|
227
|
+
|
|
228
|
+
This approach works consistently across all directory providers, even though each provider may structure their data differently. The schema viewer adapts to show the specific structure of the IT admin's directory provider, ensuring accurate mapping without requiring technical knowledge of the underlying data format.
|
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Example Apps
|
|
3
|
-
description:
|
|
3
|
+
description: View sample Directory Sync apps for each SDK.
|
|
4
4
|
originalPath: .tmp-workos-clone/packages/docs/content/directory-sync/example-apps.mdx
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
You can view minimal example apps that demonstrate how to use the WorkOS SDKs to
|
|
7
|
+
You can view minimal example apps that demonstrate how to use the WorkOS SDKs to power Directory Sync:
|
|
8
8
|
|
|
9
9
|
<ExampleApps.Root>
|
|
10
10
|
<ExampleApps.Card
|
|
11
11
|
href="https://github.com/workos/node-example-applications/tree/main/node-directory-sync-example"
|
|
12
|
-
title="Node.js Directory
|
|
12
|
+
title="Node.js Directory Sync app"
|
|
13
13
|
/>
|
|
14
14
|
<ExampleApps.Card
|
|
15
15
|
href="https://github.com/workos/typescript-example-applications/tree/main/typescript-directory-sync-example"
|
|
16
|
-
title="TypeScript Directory
|
|
16
|
+
title="TypeScript Directory Sync app"
|
|
17
17
|
/>
|
|
18
18
|
<ExampleApps.Card
|
|
19
19
|
href="https://github.com/workos/ruby-example-applications/tree/main/ruby-directory-sync-example"
|
|
20
|
-
title="Ruby Directory
|
|
20
|
+
title="Ruby Directory Sync app"
|
|
21
21
|
/>
|
|
22
22
|
<ExampleApps.Card
|
|
23
23
|
href="https://github.com/workos/python-flask-example-applications/tree/main/python-flask-directory-sync-example"
|
|
24
|
-
title="Python Flask Directory
|
|
24
|
+
title="Python Flask Directory Sync app"
|
|
25
25
|
/>
|
|
26
26
|
<ExampleApps.Card
|
|
27
27
|
href="https://github.com/workos/python-django-example-applications/tree/main/python-django-directory-sync-example"
|
|
28
|
-
title="Python Django Directory
|
|
28
|
+
title="Python Django Directory Sync app"
|
|
29
29
|
/>
|
|
30
30
|
<ExampleApps.Card
|
|
31
31
|
href="https://github.com/workos/go-example-applications/tree/main/go-directory-sync-example"
|
|
32
|
-
title="Go Directory
|
|
32
|
+
title="Go Directory Sync app"
|
|
33
33
|
/>
|
|
34
34
|
<ExampleApps.Card
|
|
35
35
|
href="https://github.com/workos/java-example-applications/tree/main/java-directory-sync-example"
|
|
36
|
-
title="Java Directory
|
|
36
|
+
title="Java Directory Sync app"
|
|
37
37
|
/>
|
|
38
38
|
<ExampleApps.Card
|
|
39
39
|
href="https://github.com/workos/php-example-applications/tree/main/php-directory-sync-example"
|
|
40
|
-
title="PHP Directory
|
|
40
|
+
title="PHP Directory Sync app"
|
|
41
41
|
/>
|
|
42
42
|
<ExampleApps.Card
|
|
43
43
|
href="https://github.com/workos/dotnet-example-applications/tree/main/dotnet-directory-sync-example"
|
|
44
|
-
title=".NET Directory
|
|
44
|
+
title=".NET Directory Sync app"
|
|
45
45
|
/>
|
|
46
46
|
</ExampleApps.Root>
|
|
@@ -12,27 +12,7 @@ originalPath: >-
|
|
|
12
12
|
|
|
13
13
|
A role represents a logical grouping of permissions, defining access control levels for users within your application. Roles are identified by a unique, immutable slug and are assigned to Directory Sync [users](/directory-sync/api-overview/directory-user) through their group memberships. These role assignments can be configured on the WorkOS dashboard.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
You can manage roles in the _Roles & Permissions_ section of the [WorkOS Dashboard](https://dashboard.workos.com/).
|
|
18
|
-
|
|
19
|
-

|
|
20
|
-
|
|
21
|
-
### Default role
|
|
22
|
-
|
|
23
|
-
Role configuration occurs at the environment level. Each environment is seeded with a default `member` role, which is automatically assigned to every directory user. This default role cannot be deleted, but any role can be set as the default.
|
|
24
|
-
|
|
25
|
-
If you need to set default roles or other role configurations at the organization level, refer to the [organization roles](/user-management/roles-and-permissions/organization-roles) documentation.
|
|
26
|
-
|
|
27
|
-
### Priority order
|
|
28
|
-
|
|
29
|
-
If a user is provisioned from multiple groups with conflicting roles, the role with the highest priority will be assigned.
|
|
30
|
-
|
|
31
|
-
### Delete roles
|
|
32
|
-
|
|
33
|
-
When a role is deleted, all users with that role, will be granted the default role. Role deletion happens asynchronously, so there may be a slight delay between deleting a role and updating all directory users.
|
|
34
|
-
|
|
35
|
-
> To migrate from one default role to another, set the new default role and delete the old one. All directory users will then be reassigned to the new default role.
|
|
15
|
+
To utilize Identity Provider (IdP) role assignment, you must first [configure roles](/rbac/configuration).
|
|
36
16
|
|
|
37
17
|
## Directory group role assignment
|
|
38
18
|
|
|
@@ -61,11 +41,29 @@ From this point on, all new users added to “Engineering" will be given "Develo
|
|
|
61
41
|
|
|
62
42
|

|
|
63
43
|
|
|
44
|
+
### Multiple roles
|
|
45
|
+
|
|
46
|
+
When [multiple roles is enabled](/rbac/configuration/configure-roles/multiple-roles) in your environment, directory users can be assigned multiple roles from their identity provider group memberships. If a user belongs to multiple mapped groups, they will receive all corresponding roles.
|
|
47
|
+
|
|
48
|
+
For example, if a user is a member of both "Engineering" and "Design" groups, and both groups are mapped to roles, the directory user will receive both the "Developer" and "Designer" roles. If a user is not a member of any groups with explicit mappings, they will receive the [default role](/rbac/configuration).
|
|
49
|
+
|
|
50
|
+
When using [AuthKit with Directory Provisioning](/authkit/directory-provisioning), these multiple roles are automatically applied to the user's [organization membership](/reference/authkit/organization-membership) and reflected in their [session token](/authkit/sessions/integrating-sessions/access-token).
|
|
51
|
+
|
|
52
|
+
#### Use cases
|
|
53
|
+
|
|
54
|
+
By default, multiple roles is disabled and users can only have a single role per entity. It's recommended to start with a single-role setup for simplicity, where it's easier to maintain consistent and correct access patterns.
|
|
55
|
+
|
|
56
|
+
You might want to enable multiple roles when you need:
|
|
57
|
+
|
|
58
|
+
- **Cross-department collaboration**: e.g., designers who need some engineering permissions.
|
|
59
|
+
- **Additive, disjoint permissions**: independent permission sets that should stack.
|
|
60
|
+
- **Temporary access**: grant time-bound extra capabilities without creating hybrid roles.
|
|
61
|
+
|
|
64
62
|
### Role assignment in Admin Portal
|
|
65
63
|
|
|
66
|
-
Once [roles](/
|
|
64
|
+
Once [roles](/rbac/configuration) are configured for your application, enable directory group role assignment in [Admin Portal](/admin-portal) to allow IT admins to assign roles to groups during directory setup.
|
|
67
65
|
|
|
68
|
-

|
|
69
67
|
|
|
70
68
|
This is an environment-level setting, but can be configured per organization via the _Roles_ tab under an organization in the WorkOS Dashboard. If your application is integrated with Directory Sync, it is recommended to use directory group role assignment as the environment default.
|
|
71
69
|
|
|
@@ -114,8 +112,7 @@ You can create a custom-mapped attribute role (e.g., `myRole`) in the [WorkOS Da
|
|
|
114
112
|
"organization_id": "org_01EHWNCE74X7JSDV0X3SZ3PJNY",
|
|
115
113
|
"custom_attributes": {
|
|
116
114
|
"myRole": "admin"
|
|
117
|
-
}
|
|
118
|
-
"raw_attributes": {}
|
|
115
|
+
}
|
|
119
116
|
}
|
|
120
117
|
```
|
|
121
118
|
|
|
@@ -127,7 +124,7 @@ An example being that `myRole` should be one of `"admin"`, `"viewer"`, or `"edit
|
|
|
127
124
|
|
|
128
125
|
### A user is part of multiple groups
|
|
129
126
|
|
|
130
|
-
Having a user who belongs to multiple groups is a common scenario. For example, there might be a case where an employee _Jane_ is an _Engineering Manager_ and belongs to an “Engineering”, “Manager”, and “Admin” group. With group-based role assignment, the user will be assigned the role that has the [highest priority defined](/
|
|
127
|
+
Having a user who belongs to multiple groups is a common scenario. For example, there might be a case where an employee _Jane_ is an _Engineering Manager_ and belongs to an “Engineering”, “Manager”, and “Admin” group. With group-based role assignment, the user will be assigned the role that has the [highest priority defined](/rbac/configuration/configure-roles/priority-order).
|
|
131
128
|
|
|
132
129
|
### Role assignment availability on Directory Sync
|
|
133
130
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Directory Sync
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Build frictionless onboarding for organizations with real‑time user
|
|
5
|
+
provisioning and deprovisioning.
|
|
4
6
|
showNextPage: true
|
|
5
7
|
originalPath: .tmp-workos-clone/packages/docs/content/directory-sync/index.mdx
|
|
6
8
|
---
|
|
@@ -86,7 +88,7 @@ Directory Sync makes this integration easy by providing APIs your app interfaces
|
|
|
86
88
|
|
|
87
89
|
A directory is the source of truth for your customer’s user and group lists.
|
|
88
90
|
|
|
89
|
-
WorkOS supports dozens of integrations including SCIM. Directory updates
|
|
91
|
+
WorkOS supports dozens of integrations including SCIM. Directory updates can be delivered to you via webhooks or retrieved using the [Events API](/reference/events). Your app stores a mapping between your customer and their directory. This allows you to maintain your app in sync with the directory provider used by your customer.
|
|
90
92
|
|
|
91
93
|
You can enable self-service Directory Sync setup for your customers using the [Admin Portal](/admin-portal).
|
|
92
94
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Quick Start
|
|
3
|
-
description:
|
|
3
|
+
description: 'Set up a directory, install the SDK, and integrate Directory Sync.'
|
|
4
4
|
showNextPage: true
|
|
5
5
|
originalPath: .tmp-workos-clone/packages/docs/content/directory-sync/quick-start.mdx
|
|
6
6
|
---
|
|
@@ -121,9 +121,9 @@ Example use case: Build an onboarding experience that allows an admin to select
|
|
|
121
121
|
|
|
122
122
|
## (3) Handle directory events
|
|
123
123
|
|
|
124
|
-
Actions performed in a WorkOS environment are represented by events. These can occur as a result of user-related actions, manually via the WorkOS dashboard, or via API
|
|
124
|
+
Actions performed in a WorkOS environment are represented by events. These can occur as a result of user-related actions, manually via the WorkOS dashboard, or via API calls. To keep your app in sync with the latest directory data, follow the corresponding guides:
|
|
125
125
|
|
|
126
|
+
- We recommend using our [events API](/events/data-syncing/events-api) to sync data to your application. To learn more about other ways to sync data, see the [data syncing guide](/events/data-syncing).
|
|
126
127
|
- Learn about the different types of events that you can receive. See [event types](/events).
|
|
127
|
-
- Handle the events you need on your side by syncing the data. See the [data syncing guide](/events/data-syncing).
|
|
128
128
|
- Understand how directory events work. See the [understanding events guide](/directory-sync/understanding-events).
|
|
129
129
|
- Optionally, stream events to Datadog. See the [observability guide](/events/observability/datadog).
|
|
@@ -83,7 +83,7 @@ This event occurs when users’ attributes change. These attributes may be [stan
|
|
|
83
83
|
|
|
84
84
|
The payload for `dsync.user.updated` event shows changes between directory group snapshots in the `previous_attributes` property.
|
|
85
85
|
|
|
86
|
-
The changes in the object are shallow differences for root properties
|
|
86
|
+
The changes in the object are shallow differences for root properties and `custom_attributes`. If the current snapshot has a new attribute that did not exist previously, then the value for the attribute will be indicated as `null`.
|
|
87
87
|
|
|
88
88
|
### `dsync.user.deleted`
|
|
89
89
|
|
|
@@ -135,7 +135,7 @@ This event is sent when an attribute of a directory group has changed.
|
|
|
135
135
|
|
|
136
136
|
The payload for `dsync.group.updated` events shows changes between directory group snapshots in the `previous_attributes` property.
|
|
137
137
|
|
|
138
|
-
The changes in the object are shallow differences for root properties
|
|
138
|
+
The changes in the object are shallow differences for root properties and `custom_attributes`. If the current snapshot has a new attribute that did not exist previously, then the value for the attribute will be indicated as `null`.
|
|
139
139
|
|
|
140
140
|
### `dsync.group.deleted`
|
|
141
141
|
|
|
@@ -9,15 +9,15 @@ Instead of leveraging the Admin Portal, the Domain Verification API can be used
|
|
|
9
9
|
|
|
10
10
|
Integrating with the API goes as follows:
|
|
11
11
|
|
|
12
|
-
1. Create an
|
|
13
|
-
2. Share the token and setup instructions with the
|
|
12
|
+
1. Create an organization domain for an organization
|
|
13
|
+
2. Share the token and setup instructions with the organization owner (IT admin)
|
|
14
14
|
3. Wait for the verification to complete
|
|
15
15
|
|
|
16
|
-
## Create a new
|
|
16
|
+
## Create a new organization domain
|
|
17
17
|
|
|
18
|
-
All domains belong to an [
|
|
18
|
+
All domains belong to an [organization](/reference/organization). In order to create and verify a domain, an organization must first be [created](/reference/organization/create).
|
|
19
19
|
|
|
20
|
-
<CodeBlock title="Create an
|
|
20
|
+
<CodeBlock title="Create an organization domain">
|
|
21
21
|
<CodeBlockTab title="Request" file="create-organization-domain" />
|
|
22
22
|
<CodeBlockTab title="Response" file="create-organization-domain-response" />
|
|
23
23
|
</CodeBlock>
|
|
@@ -31,7 +31,7 @@ The `verification_token` returned can then be set as the value of a TXT record t
|
|
|
31
31
|
|
|
32
32
|
Fetch an existing domain and it’s current verification status. This endpoint can be polled once verification has been initiated to determine if verification has been successful.
|
|
33
33
|
|
|
34
|
-
<CodeBlock title="Fetch an
|
|
34
|
+
<CodeBlock title="Fetch an organization domain">
|
|
35
35
|
<CodeBlockTab title="Request" file="get-organization-domain" />
|
|
36
36
|
<CodeBlockTab title="Response" file="get-organization-domain-response" />
|
|
37
37
|
</CodeBlock>
|
|
@@ -45,13 +45,13 @@ Possible `state` values:
|
|
|
45
45
|
Possible `verification_strategy` values:
|
|
46
46
|
|
|
47
47
|
- `dns`: domain is verified with the DNS flow
|
|
48
|
-
- `
|
|
48
|
+
- `manual`: domain is verified by a person or a system, without running the DNS flow
|
|
49
49
|
|
|
50
50
|
## Initiate verification for existing domain
|
|
51
51
|
|
|
52
52
|
If a domain has not successfully verified within thirty days and moves to the `failed` state, verification can be restarted manually.
|
|
53
53
|
|
|
54
|
-
<CodeBlock title="Verify an existing
|
|
54
|
+
<CodeBlock title="Verify an existing organization domain">
|
|
55
55
|
<CodeBlockTab title="Request" file="verify-existing-organization-domain" />
|
|
56
56
|
<CodeBlockTab
|
|
57
57
|
title="Response"
|
|
@@ -9,7 +9,7 @@ originalPath: .tmp-workos-clone/packages/docs/content/domain-verification/index.
|
|
|
9
9
|
|
|
10
10
|
Domain Verification allows your customers to claim ownership of a domain. Once they have claimed ownership, features that require a higher level of trust and security can be activated.
|
|
11
11
|
|
|
12
|
-
WorkOS Domain Verification provides a self-serve flow through the Admin Portal in which IT
|
|
12
|
+
WorkOS Domain Verification provides a self-serve flow through the Admin Portal in which IT admins can prove ownership through the creation of DNS TXT records.
|
|
13
13
|
|
|
14
14
|
## Before getting started
|
|
15
15
|
|
|
@@ -20,7 +20,7 @@ You’ll need a [WorkOS account](https://dashboard.workos.com/).
|
|
|
20
20
|
[Organization](/reference/organization)
|
|
21
21
|
: Describes an organization whose users sign in with a SSO Connection, or whose users are synced with a Directory Sync Connection.
|
|
22
22
|
|
|
23
|
-
[Organization Domain](/reference/
|
|
23
|
+
[Organization Domain](/reference/domain-verification)
|
|
24
24
|
: Describes a domain associated to an organization, verified or unverified.
|
|
25
25
|
|
|
26
26
|
[Portal Link](/reference/admin-portal/portal-link)
|
|
@@ -64,4 +64,4 @@ The admin will find instruction to add a DNS TXT record with a token generated b
|
|
|
64
64
|
|
|
65
65
|

|
|
66
66
|
|
|
67
|
-
When we detect
|
|
67
|
+
When we detect and verify the DNS record, we will mark the domain as `verified` and dispatch a [domain verification event](/events) to inform your application.
|
|
@@ -52,7 +52,7 @@ It is also important to ensure that your WorkOS team account and all organizatio
|
|
|
52
52
|
|
|
53
53
|
While using the WorkOS email domain option is convenient, you can provide your users a better experience. Using your own email domain means that your users will receive emails from a domain they recognize, one associated with your app. In addition, because you control the email domain, you have more control over the domain reputation and therefore more control over email deliverability.
|
|
54
54
|
|
|
55
|
-
You can configure your own email domain in the [WorkOS dashboard](https://dashboard.workos.com). You will need to verify ownership of the domain by setting up a CNAME record with your domain provider. Two additional CNAME records are required to automatically configure SPF and DKIM email authentication using [
|
|
55
|
+
You can configure your own email domain in the [WorkOS dashboard](https://dashboard.workos.com). You will need to verify ownership of the domain by setting up a CNAME record with your domain provider. Two additional CNAME records are required to automatically configure SPF and DKIM email authentication using [SendGrid's automated security feature](https://support.sendgrid.com/hc/en-us/articles/21415314709147-Email-Authentication-SendGrid-s-Automated-Security-Explained).
|
|
56
56
|
|
|
57
57
|

|
|
58
58
|
|
|
@@ -84,20 +84,64 @@ More details about DMARC can be found at [dmarc.org](https://dmarc.org/overview/
|
|
|
84
84
|
|
|
85
85
|
---
|
|
86
86
|
|
|
87
|
-
## (C)
|
|
87
|
+
## (C) Connect your own email provider to WorkOS
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
By connecting your own email provider to WorkOS, you get control over deliverability, reputation, and compliance, while still offloading the heavy lifting of email handling. This option also allows you to easily utilize an existing email service provider configuration.
|
|
90
90
|
|
|
91
|
-
For complete instructions on
|
|
91
|
+
For complete instructions on configuring a custom email provider, see the [custom email providers section](/authkit/custom-email-providers).
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## (D) Send your own email
|
|
96
|
+
|
|
97
|
+
There are a number of reasons why you may want to send email using your own email provider. Perhaps you already send a welcome email to new users and want to include an invitation link instead of sending a second email. Perhaps you already track sent email status with your own email provider and want a unified view into the status of all emails associated with your app. Regardless, when you send your own email, you have complete control over email deliverability.
|
|
98
|
+
|
|
99
|
+
For complete instructions on sending your own email, see the section on [custom emails](/authkit/custom-emails) in the AuthKit documentation.
|
|
92
100
|
|
|
93
101
|
When sending your own email, you will want to follow the all of the recommendations in Google's [email sender guidelines](https://support.google.com/a/answer/81126?hl=en). This includes setting up SPF, DKIM and DMARC email authentication.
|
|
94
102
|
|
|
95
|
-
You will also need to be conscious of your sender reputation. It's based on the quality of emails, their frequency, and user interaction. A good sender reputation can increase the chances of your emails reaching inboxes.
|
|
103
|
+
You will also need to be conscious of your sender reputation. It's based on the quality of emails, their frequency, and user interaction. A good sender reputation can increase the chances of your emails reaching inboxes. SendGrid provides some [useful tips for improving sender reputation](https://sendgrid.com/en-us/blog/email-reputation-101-ip-reputation-vs-domain-reputation).
|
|
96
104
|
|
|
97
105
|
If you author your own email content, you may want to test your emails against various email providers' spam filters. There are a number of spam testing services available such as [Litmus](https://www.litmus.com/email-testing) and [Warmly](https://www.warmy.io/free-tools/email-deliverability-test/).
|
|
98
106
|
|
|
99
107
|
---
|
|
100
108
|
|
|
109
|
+
## (E) Check suppression status
|
|
110
|
+
|
|
111
|
+
Email providers maintain suppression lists: addresses that previously bounced, were marked as spam, or were flagged as invalid. Once suppressed, WorkOS will not attempt to deliver emails to that address.
|
|
112
|
+
|
|
113
|
+
### Suppression types
|
|
114
|
+
|
|
115
|
+
- **Bounce**: The email hard-bounced because the address doesn't exist.
|
|
116
|
+
- **Spam complaint**: The recipient marked the email as spam.
|
|
117
|
+
- **Block**: The email provider blocked delivery.
|
|
118
|
+
- **Invalid**: The email address is malformed.
|
|
119
|
+
|
|
120
|
+
### Checking and removing suppressions
|
|
121
|
+
|
|
122
|
+
In the [WorkOS Dashboard](https://dashboard.workos.com/), navigate to the **Users → [User] → Emails** tab. The suppression status is shown for the user's email address. If suppressed, you can click "Re-enable email" to remove the suppression.
|
|
123
|
+
|
|
124
|
+
Before removing a suppression, confirm:
|
|
125
|
+
|
|
126
|
+
- The recipient wants to receive emails.
|
|
127
|
+
- The mailbox is not full and can receive mail.
|
|
128
|
+
- The email address is valid and not malformed.
|
|
129
|
+
|
|
130
|
+
<Callout type="warning">
|
|
131
|
+
Removing a suppression for an address that continues to bounce will harm your
|
|
132
|
+
domain's sender reputation.
|
|
133
|
+
</Callout>
|
|
134
|
+
|
|
135
|
+
Suppression management is available when using the default WorkOS email provider or a [custom email provider](/authkit/custom-email-providers).
|
|
136
|
+
|
|
137
|
+
<Callout type="info">
|
|
138
|
+
Resend is not currently supported for suppression management. If you use
|
|
139
|
+
Resend as your custom email provider, manage suppressions directly in the
|
|
140
|
+
Resend dashboard.
|
|
141
|
+
</Callout>
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
101
145
|
## Troubleshooting
|
|
102
146
|
|
|
103
147
|
Even when following industry best practices, an email may get filtered as spam and not reach a user's inbox. Other times an email might be delayed, for example, when [Enhanced Pre-delivery Message Scanning](https://apps.google.com/supportwidget/articlehome?hl=en&article_url=https%3A%2F%2Fsupport.google.com%2Fa%2Fanswer%2F7380368%3Fhl%3Den&product_context=7380368&product_name=UnuFlow&trigger_context=a) is enabled on a Google workspace or when a similar feature is enabled with other email providers. Email providers do not explain the heuristics used by their spam filters and security mechanisms, and they are often changing, making it especially frustrating to troubleshoot problems.
|