@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
|
@@ -1,36 +1,34 @@
|
|
|
1
1
|
---
|
|
2
|
-
title:
|
|
2
|
+
title: AuthKit
|
|
3
3
|
description: >-
|
|
4
|
-
Easy to use authentication
|
|
5
|
-
fast integration.
|
|
4
|
+
Easy to use authentication platform designed to provide a flexible, secure,
|
|
5
|
+
and fast integration.
|
|
6
6
|
showNextPage: true
|
|
7
|
-
originalPath: .tmp-workos-clone/packages/docs/content/
|
|
7
|
+
originalPath: .tmp-workos-clone/packages/docs/content/authkit/index.mdx
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
<WorkOSCliCallout />
|
|
11
|
+
|
|
10
12
|
## Introduction {{ "visibility": "no-quick-nav" }}
|
|
11
13
|
|
|
12
|
-
Integrating
|
|
14
|
+
Integrating AuthKit into your app can be done in less than ten minutes. In this guide, we'll walk you through adding a hosted authentication flow to your application using AuthKit.
|
|
15
|
+
|
|
16
|
+
> **Want to skip the manual setup?** The [CLI Installer](/authkit/cli-installer) detects your framework, installs the SDK, configures your dashboard, and writes the integration code — all with a single command.
|
|
13
17
|
|
|
14
|
-
In addition to this guide, there are a variety of [example apps](/
|
|
18
|
+
In addition to this guide, there are a variety of [example apps](/authkit/example-apps) available to help with your integration.
|
|
15
19
|
|
|
16
20
|
## Before getting started {{ "visibility": "no-quick-nav" }}
|
|
17
21
|
|
|
18
|
-
To get the most out of this guide, you
|
|
22
|
+
To get the most out of this guide, you'll need:
|
|
19
23
|
|
|
20
24
|
- A [WorkOS account](https://dashboard.workos.com/)
|
|
21
25
|
- Your WorkOS [API Key](/glossary/api-key) and [Client ID](/glossary/client-id)
|
|
22
26
|
|
|
23
|
-
Additionally you'll need to activate User Management in your WorkOS Dashboard if you haven't already. In the _Overview_ section, click the _Set up User Management_ button and follow the instructions.
|
|
24
|
-
|
|
25
|
-

|
|
26
|
-
|
|
27
27
|
---
|
|
28
28
|
|
|
29
29
|
## (1) Configure your project
|
|
30
30
|
|
|
31
|
-
Let
|
|
32
|
-
|
|
33
|
-
<StackSelection />
|
|
31
|
+
Let's add the necessary dependencies and configuration in your WorkOS Dashboard.
|
|
34
32
|
|
|
35
33
|
### Install dependencies
|
|
36
34
|
|
|
@@ -66,6 +64,12 @@ Let’s add the necessary dependencies and configuration in your WorkOS Dashboar
|
|
|
66
64
|
npm install @workos-inc/node
|
|
67
65
|
```
|
|
68
66
|
|
|
67
|
+
For CSRF protection on state-changing routes like logout, also install `csrf-csrf`:
|
|
68
|
+
|
|
69
|
+
```bash title="Install CSRF protection"
|
|
70
|
+
npm install csrf-csrf cookie-parser
|
|
71
|
+
```
|
|
72
|
+
|
|
69
73
|
- $ backend="ruby"
|
|
70
74
|
First, install the WorkOS gem.
|
|
71
75
|
|
|
@@ -73,6 +77,12 @@ Let’s add the necessary dependencies and configuration in your WorkOS Dashboar
|
|
|
73
77
|
gem install workos
|
|
74
78
|
```
|
|
75
79
|
|
|
80
|
+
For CSRF protection on state-changing routes like logout, also install `rack-csrf`:
|
|
81
|
+
|
|
82
|
+
```bash title="Install CSRF protection"
|
|
83
|
+
gem install rack_csrf
|
|
84
|
+
```
|
|
85
|
+
|
|
76
86
|
- $ backend="python"
|
|
77
87
|
|
|
78
88
|
First, install the Python SDK.
|
|
@@ -81,45 +91,53 @@ Let’s add the necessary dependencies and configuration in your WorkOS Dashboar
|
|
|
81
91
|
pip install workos
|
|
82
92
|
```
|
|
83
93
|
|
|
94
|
+
For CSRF protection on state-changing routes like logout, also install `Flask-WTF`:
|
|
95
|
+
|
|
96
|
+
```bash title="Install CSRF protection"
|
|
97
|
+
pip install Flask-WTF
|
|
98
|
+
```
|
|
99
|
+
|
|
84
100
|
### Configure a redirect URI
|
|
85
101
|
|
|
86
|
-
A redirect URI is a callback endpoint that WorkOS will redirect to after a user has authenticated. This endpoint will exchange the authorization code returned by WorkOS for an authenticated [User object](/reference/
|
|
102
|
+
A redirect URI is a callback endpoint that WorkOS will redirect to after a user has authenticated. This endpoint will exchange the authorization code returned by WorkOS for an authenticated [User object](/reference/authkit/user). We'll create this endpoint in the next step.
|
|
87
103
|
|
|
88
|
-
You can set a redirect URI in the
|
|
104
|
+
You can set a redirect URI in the **Redirects** section of the [WorkOS Dashboard](https://dashboard.workos.com). We recommend using `http://localhost:3000/callback` as the default here.
|
|
105
|
+
|
|
106
|
+
WorkOS supports using wildcard characters in Redirect URIs, but not for the default Redirect URI. More information about wildcard characters support can be found in the [Redirect URIs](/sso/redirect-uris/wildcard-characters) guide.
|
|
89
107
|
|
|
90
108
|
- $ frontend="client-only"
|
|
91
109
|
|
|
92
|
-

|
|
93
111
|
|
|
94
112
|
> For the client-only integration, make sure to set the callback URI as the same route where you require auth.
|
|
95
113
|
|
|
96
114
|
- $ frontend="nextjs, remix, vanilla, react"
|
|
97
115
|
|
|
98
|
-

|
|
99
117
|
|
|
100
|
-
When users sign out of their application, they will be redirected to your app's [
|
|
118
|
+
When users sign out of their application, they will be redirected to your app's [Sign-out redirect](/authkit/sessions/configuring-sessions/sign-out-redirect) location which is configured in the same dashboard area.
|
|
101
119
|
|
|
102
|
-
### Configure
|
|
120
|
+
### Configure sign-in endpoint
|
|
103
121
|
|
|
104
122
|
- $ frontend="client-only"
|
|
105
123
|
|
|
106
|
-
All
|
|
124
|
+
All sign-in requests must originate at your application for the [PKCE](/reference/authkit/authentication/get-authorization-url/pkce) code exchange to work properly. In some instances, requests may not begin at your app. For example, some users might bookmark the hosted sign-in page or they might be led directly to the hosted sign-in page when clicking on a password reset link in an email.
|
|
107
125
|
|
|
108
126
|
- $ frontend="nextjs, remix, vanilla, react"
|
|
109
127
|
|
|
110
|
-
|
|
128
|
+
Sign-in requests should originate from your application. In some instances, requests may not begin at your app. For example, some users might bookmark the hosted sign-in page or they might be led directly to the hosted sign-in page when clicking on a password reset link in an email.
|
|
111
129
|
|
|
112
|
-
In these cases, AuthKit will detect when a
|
|
130
|
+
In these cases, AuthKit will detect when a sign-in request did not originate at your application and redirect to your application's sign-in endpoint. This is an endpoint that you define at your application that redirects users to sign in using AuthKit. We'll create this endpoint in the next step.
|
|
113
131
|
|
|
114
|
-
You can configure the
|
|
132
|
+
You can configure the sign-in endpoint from the **Redirects** section of the WorkOS dashboard.
|
|
115
133
|
|
|
116
|
-

|
|
117
135
|
|
|
118
136
|
- $ frontend="client-only"
|
|
119
137
|
|
|
120
138
|
### Configure CORS
|
|
121
139
|
|
|
122
|
-
Since your user's browser will be making calls to the WorkOS API directly, it is necessary to add your domain to the allow list in your WorkOS Settings. This can be configured in the
|
|
140
|
+
Since your user's browser will be making calls to the WorkOS API directly, it is necessary to add your domain to the allow list in your WorkOS Settings. This can be configured in the **Configure CORS** dialog on the **Authentication** page of the WorkOS dashboard.
|
|
123
141
|
|
|
124
142
|

|
|
125
143
|
|
|
@@ -144,7 +162,7 @@ You can configure the initiate login URL from the _Redirects_ section of the Wor
|
|
|
144
162
|
NEXT_PUBLIC_WORKOS_REDIRECT_URI="http://localhost:3000/callback"
|
|
145
163
|
```
|
|
146
164
|
|
|
147
|
-
The `NEXT_PUBLIC_WORKOS_REDIRECT_URI` uses the `NEXT_PUBLIC` prefix so the variable is accessible in edge functions and
|
|
165
|
+
The `NEXT_PUBLIC_WORKOS_REDIRECT_URI` uses the `NEXT_PUBLIC` prefix so the variable is accessible in edge functions and proxy configurations. This is useful for configuring operations like Vercel preview deployments.
|
|
148
166
|
|
|
149
167
|
- $ frontend="remix"
|
|
150
168
|
|
|
@@ -181,7 +199,7 @@ You can configure the initiate login URL from the _Redirects_ section of the Wor
|
|
|
181
199
|
|
|
182
200
|
## (2) Add AuthKit to your app
|
|
183
201
|
|
|
184
|
-
Let
|
|
202
|
+
Let's integrate the hosted authentication flow into your app.
|
|
185
203
|
|
|
186
204
|
- $ frontend="client-only"
|
|
187
205
|
|
|
@@ -219,45 +237,39 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
219
237
|
|
|
220
238
|
<CodeBlock file="authkit-nextjs-provider" title="/app/layout.tsx" />
|
|
221
239
|
|
|
222
|
-
###
|
|
240
|
+
### Proxy
|
|
223
241
|
|
|
224
|
-
[Next.js
|
|
242
|
+
[Next.js proxy](https://nextjs.org/docs/app/api-reference/file-conventions/proxy) is required to determine which routes require authentication.
|
|
225
243
|
|
|
226
|
-
#### Implementing the
|
|
244
|
+
#### Implementing the proxy
|
|
227
245
|
|
|
228
|
-
When implementing, you can opt to use either the complete `authkitMiddleware` solution or the composable `authkit` method. You'd use the former in cases where your
|
|
246
|
+
When implementing the proxy, which [was called middleware before Next 16](https://nextjs.org/docs/messages/middleware-to-proxy), you can opt to use either the complete `authkitMiddleware` solution or the composable `authkit` method. You'd use the former in cases where your proxy is only used for authentication. The latter is used for more complex apps where you want to have your proxy perform tasks in addition to auth.
|
|
229
247
|
|
|
230
248
|
- | Complete
|
|
231
249
|
|
|
232
|
-
The
|
|
250
|
+
The proxy can be implemented in the `proxy.ts` file. This is a full proxy solution that handles all the auth logic including session management and redirects for you.
|
|
233
251
|
|
|
234
|
-
With the complete
|
|
252
|
+
With the complete proxy solution, you can choose between page based auth and middleware auth.
|
|
235
253
|
|
|
236
254
|
#### Page based auth
|
|
237
255
|
|
|
238
256
|
Protected routes are determined via the use of the `withAuth` method, specifically whether the `ensureSignedIn` option is used. Usage of `withAuth` is covered further down in the _Access authentication data_ section.
|
|
239
257
|
|
|
240
|
-
<CodeBlock file="authkit-nextjs-
|
|
258
|
+
<CodeBlock file="authkit-nextjs-proxy" title="proxy.ts" />
|
|
241
259
|
|
|
242
260
|
#### Middleware auth
|
|
243
261
|
|
|
244
|
-
In this mode the
|
|
262
|
+
In this mode the proxy is used to protect all routes by default, redirecting users to AuthKit if no session is available. Exceptions can be configured via an allow list.
|
|
245
263
|
|
|
246
|
-
<CodeBlock
|
|
247
|
-
file="authkit-nextjs-middleware-auth-mode"
|
|
248
|
-
title="middleware.ts"
|
|
249
|
-
/>
|
|
264
|
+
<CodeBlock file="authkit-nextjs-middleware-auth-mode" title="proxy.ts" />
|
|
250
265
|
|
|
251
266
|
In the above example, the home page `/` can be viewed by unauthenticated users. The `/account` page and its children can only be viewed by authenticated users.
|
|
252
267
|
|
|
253
268
|
- | Composable
|
|
254
269
|
|
|
255
|
-
The
|
|
270
|
+
The proxy can be implemented in the `proxy.ts` file. This is a composable proxy solution that handles the session management part for you but leaves the redirect and route protection logic to you.
|
|
256
271
|
|
|
257
|
-
<CodeBlock
|
|
258
|
-
file="authkit-nextjs-middleware-composable"
|
|
259
|
-
title="middleware.ts"
|
|
260
|
-
/>
|
|
272
|
+
<CodeBlock file="authkit-nextjs-proxy-composable" title="proxy.ts" />
|
|
261
273
|
|
|
262
274
|
### Callback route
|
|
263
275
|
|
|
@@ -265,14 +277,11 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
265
277
|
|
|
266
278
|
<CodeBlock file="callback-endpoint-nextjs" title="/app/callback/route.ts" />
|
|
267
279
|
|
|
268
|
-
###
|
|
280
|
+
### Sign-in endpoint
|
|
269
281
|
|
|
270
|
-
We'll need
|
|
282
|
+
We'll need a sign-in endpoint to direct users to sign in using AuthKit before redirecting them back to your application. We'll do this by generating an AuthKit authorization URL server side and redirecting the user to it.
|
|
271
283
|
|
|
272
|
-
<CodeBlock
|
|
273
|
-
file="initiate-login-endpoint-nextjs"
|
|
274
|
-
title="/app/login/route.ts"
|
|
275
|
-
/>
|
|
284
|
+
<CodeBlock file="login-endpoint-nextjs" title="/app/login/route.ts" />
|
|
276
285
|
|
|
277
286
|
### Access authentication data
|
|
278
287
|
|
|
@@ -316,7 +325,7 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
316
325
|
|
|
317
326
|
### Ending the session
|
|
318
327
|
|
|
319
|
-
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [
|
|
328
|
+
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [Sign-out redirect](/authkit/sessions/configuring-sessions/sign-out-redirect) location, which is configured in the WorkOS dashboard.
|
|
320
329
|
|
|
321
330
|
<CodeBlock
|
|
322
331
|
file="get-authkit-url-nextjs-logout"
|
|
@@ -331,11 +340,11 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
331
340
|
|
|
332
341
|
<CodeBlock file="callback-endpoint-remix" title="/routes/callback.ts" />
|
|
333
342
|
|
|
334
|
-
###
|
|
343
|
+
### Sign-in endpoint
|
|
335
344
|
|
|
336
|
-
We'll need
|
|
345
|
+
We'll need a sign-in endpoint to direct users to sign in using AuthKit before redirecting them back to your application. We'll do this by generating an AuthKit authorization URL server side and redirecting the user to it.
|
|
337
346
|
|
|
338
|
-
<CodeBlock file="
|
|
347
|
+
<CodeBlock file="login-endpoint-remix" title="/routes/login.ts" />
|
|
339
348
|
|
|
340
349
|
### Access authentication data in your Remix application
|
|
341
350
|
|
|
@@ -356,36 +365,28 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
356
365
|
|
|
357
366
|
### Ending the session
|
|
358
367
|
|
|
359
|
-
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [
|
|
368
|
+
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [Sign-out redirect](/authkit/sessions/configuring-sessions/sign-out-redirect) location, which is configured in the WorkOS dashboard.
|
|
360
369
|
|
|
361
370
|
<CodeBlock
|
|
362
371
|
file="authkit-remix-example-logout"
|
|
363
372
|
title="/app/routes/_index.jsx"
|
|
364
373
|
/>
|
|
365
374
|
|
|
366
|
-
- $
|
|
375
|
+
- $ backend="nodejs, ruby, python"
|
|
367
376
|
|
|
368
377
|
### Set up the frontend
|
|
369
378
|
|
|
370
379
|
To demonstrate AuthKit, we only need a simple page with links to logging in and out.
|
|
371
380
|
|
|
372
|
-
- $ frontend="vanilla"
|
|
373
|
-
|
|
374
381
|
<CodeBlock file="frontend-vanilla" title="index.html" />
|
|
375
382
|
|
|
376
|
-
- $ frontend="react"
|
|
377
|
-
|
|
378
|
-
<CodeBlock file="frontend-react" title="App.js" />
|
|
379
|
-
|
|
380
|
-
- $ frontend="vanilla, react"
|
|
381
|
-
|
|
382
383
|
Clicking the "Sign in" and "Sign out" links should invoke actions on our server, which we'll set up next.
|
|
383
384
|
|
|
384
385
|
- $ backend="nodejs, ruby, php, go, python, java"
|
|
385
386
|
|
|
386
|
-
### Add
|
|
387
|
+
### Add a sign-in endpoint
|
|
387
388
|
|
|
388
|
-
We'll need
|
|
389
|
+
We'll need a sign-in endpoint to direct users to sign in (or sign up) using AuthKit before redirecting them back to your application. This endpoint should generate an AuthKit authorization URL server side and redirect the user to it.
|
|
389
390
|
|
|
390
391
|
You can use the optional state parameter to encode arbitrary information to help restore application `state` between redirects.
|
|
391
392
|
|
|
@@ -413,7 +414,7 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
413
414
|
|
|
414
415
|
### Add a callback endpoint
|
|
415
416
|
|
|
416
|
-
Next, let
|
|
417
|
+
Next, let's add the callback endpoint (referenced in [Configure a redirect URI](/authkit/1-configure-your-project/configure-a-redirect-uri)) which will exchange the authorization code (valid for 10 minutes) for an authenticated User object.
|
|
417
418
|
|
|
418
419
|
- $ backend="nodejs"
|
|
419
420
|
|
|
@@ -460,6 +461,14 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
460
461
|
|
|
461
462
|
<CodeBlock file="encrypt-session-express" title="server.js" />
|
|
462
463
|
|
|
464
|
+
We should also present some of the user information on our frontend. Let's update the default route to read the session cookie and display user information:
|
|
465
|
+
|
|
466
|
+
<CodeBlock file="auth-info-session-express" title="server.js" />
|
|
467
|
+
|
|
468
|
+
And, we should make sure to update the index page to present this info.
|
|
469
|
+
|
|
470
|
+
<CodeBlock file="frontend-vanilla-auth-info" title="index.html" />
|
|
471
|
+
|
|
463
472
|
### Protected routes
|
|
464
473
|
|
|
465
474
|
Then, use middleware to specify which routes should be protected. If the session has expired, use the SDK to attempt to generate a new one.
|
|
@@ -472,14 +481,32 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
472
481
|
|
|
473
482
|
### Ending the session
|
|
474
483
|
|
|
475
|
-
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [
|
|
484
|
+
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [Sign-out redirect](/authkit/sessions/configuring-sessions/sign-out-redirect) location, which is configured in the WorkOS dashboard.
|
|
476
485
|
|
|
477
486
|
<CodeBlock file="log-out-express" title="server.js" />
|
|
478
487
|
|
|
488
|
+
- $ backend="nodejs"
|
|
489
|
+
|
|
490
|
+
<Callout type="warning">
|
|
491
|
+
<strong>CSRF Protection:</strong> The logout endpoint uses POST to prevent
|
|
492
|
+
unintended logouts from browser prefetching. CSRF protection with{' '}
|
|
493
|
+
<code>csrf-csrf</code> prevents cross-site request forgery attacks. The
|
|
494
|
+
frontend fetches a CSRF token from <code>/csrf-token</code> and includes it
|
|
495
|
+
in the logout form submission.
|
|
496
|
+
</Callout>
|
|
497
|
+
|
|
479
498
|
- $ backend="ruby"
|
|
480
499
|
|
|
481
500
|
<CodeBlock file="encrypt-session-sinatra" title="server.rb" />
|
|
482
501
|
|
|
502
|
+
We should also present some of the user information on our frontend. Let's update the default route to read the session cookie and display user information:
|
|
503
|
+
|
|
504
|
+
<CodeBlock file="auth-info-session-sinatra" title="server.rb" />
|
|
505
|
+
|
|
506
|
+
And, we should make sure to update the index page to present this info.
|
|
507
|
+
|
|
508
|
+
<CodeBlock file="frontend-vanilla-auth-info" title="index.html" />
|
|
509
|
+
|
|
483
510
|
### Protected routes
|
|
484
511
|
|
|
485
512
|
Then, use a helper method to specify which routes should be protected. If the session has expired, use the SDK to attempt to generate a new one.
|
|
@@ -492,14 +519,30 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
492
519
|
|
|
493
520
|
### Ending the session
|
|
494
521
|
|
|
495
|
-
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [
|
|
522
|
+
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's [Sign-out redirect](/authkit/sessions/configuring-sessions/sign-out-redirect) location, which is configured in the WorkOS dashboard.
|
|
496
523
|
|
|
497
524
|
<CodeBlock file="log-out-sinatra" title="server.rb" />
|
|
498
525
|
|
|
526
|
+
<Callout type="warning">
|
|
527
|
+
<strong>CSRF Protection:</strong> The logout endpoint uses POST to prevent
|
|
528
|
+
unintended logouts from browser prefetching. CSRF protection with{' '}
|
|
529
|
+
<code>Rack::Csrf</code> prevents cross-site request forgery attacks. The{' '}
|
|
530
|
+
<code>csrf_tag</code> helper method generates a hidden form field with the
|
|
531
|
+
CSRF token.
|
|
532
|
+
</Callout>
|
|
533
|
+
|
|
499
534
|
- $ backend="python"
|
|
500
535
|
|
|
501
536
|
<CodeBlock file="encrypt-session-flask" title="server.py" />
|
|
502
537
|
|
|
538
|
+
We should also present some of the user information on our frontend. Let's update the default route to read the session cookie and display user information:
|
|
539
|
+
|
|
540
|
+
<CodeBlock file="auth-info-session-flask.trunk-ignore" title="server.py" />
|
|
541
|
+
|
|
542
|
+
And, we should make sure to update the index page to present this info.
|
|
543
|
+
|
|
544
|
+
<CodeBlock file="frontend-vanilla-auth-info" title="index.html" />
|
|
545
|
+
|
|
503
546
|
### Protected routes
|
|
504
547
|
|
|
505
548
|
Then, use a decorator to specify which routes should be protected. If the session has expired, use the SDK to attempt to generate a new one.
|
|
@@ -512,14 +555,38 @@ Let’s integrate the hosted authentication flow into your app.
|
|
|
512
555
|
|
|
513
556
|
### Ending the session
|
|
514
557
|
|
|
515
|
-
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's
|
|
558
|
+
Finally, ensure the user can end their session by redirecting them to the logout URL. After successfully signing out, the user will be redirected to your app's Sign-out redirect location, which is configured in the WorkOS dashboard.
|
|
516
559
|
|
|
517
560
|
<CodeBlock file="log-out-flask.trunk-ignore" title="server.py" />
|
|
518
561
|
|
|
519
|
-
>
|
|
562
|
+
<Callout type="warning">
|
|
563
|
+
<strong>CSRF Protection:</strong> The logout endpoint uses POST to prevent
|
|
564
|
+
unintended logouts from browser prefetching. CSRF protection with{' '}
|
|
565
|
+
<code>Flask-WTF</code> prevents cross-site request forgery attacks.
|
|
566
|
+
Flask-WTF automatically validates CSRF tokens on POST requests when
|
|
567
|
+
configured with <code>CSRFProtect</code>.
|
|
568
|
+
</Callout>
|
|
569
|
+
|
|
570
|
+
> If you haven't configured a [Sign-out redirect](/authkit/sessions/configuring-sessions/sign-out-redirect) in the WorkOS dashboard, users will see an error when logging out.
|
|
571
|
+
|
|
572
|
+
## Validate the authentication flow
|
|
573
|
+
|
|
574
|
+
- $ frontend="nextjs, remix"
|
|
575
|
+
|
|
576
|
+
To test all of this out, call `npm run dev`, navigate to `localhost:3000`, and sign up for an account.
|
|
577
|
+
|
|
578
|
+
- $ backend="nodejs"
|
|
579
|
+
|
|
580
|
+
To test all of this out, start your server with `node server.js`, navigate to `localhost:3000`, and sign up for an account.
|
|
581
|
+
|
|
582
|
+
- $ backend="ruby"
|
|
583
|
+
|
|
584
|
+
To test all of this out, start your server with `ruby server.rb`, navigate to `localhost:3000`, and sign up for an account.
|
|
585
|
+
|
|
586
|
+
- $ backend="python"
|
|
520
587
|
|
|
521
|
-
|
|
588
|
+
To test all of this out, start your server with `python server.py`, navigate to `localhost:3000`, and sign up for an account.
|
|
522
589
|
|
|
523
|
-
|
|
590
|
+
You can then sign in with the newly created credentials and see the user listed in the **Users** section of the [WorkOS Dashboard](https://dashboard.workos.com).
|
|
524
591
|
|
|
525
592
|

|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
title: Invitations
|
|
3
3
|
description: Easily add users to your application or as members of an organization.
|
|
4
4
|
showNextPage: true
|
|
5
|
-
originalPath: .tmp-workos-clone/packages/docs/content/
|
|
5
|
+
originalPath: .tmp-workos-clone/packages/docs/content/authkit/invitations.mdx
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
## Introduction
|
|
@@ -26,7 +26,7 @@ As part of signing up, they automatically join the organization. If a user is in
|
|
|
26
26
|
|
|
27
27
|
### Inviting existing users to an organization
|
|
28
28
|
|
|
29
|
-
If an invitation is for an existing user, clicking the link in the email and signing in adds the user as a member to the organization. If the user is already signed in, you can use the invitation code to validate that the signed-in user is eligible to use the invitation, by querying the [Invitation API](/reference/
|
|
29
|
+
If an invitation is for an existing user, clicking the link in the email and signing in adds the user as a member to the organization. If the user is already signed in, you can use the invitation code to validate that the signed-in user is eligible to use the invitation, by querying the [Invitation API](/reference/authkit/invitation).
|
|
30
30
|
|
|
31
31
|
This offers choice for the end-user so that they aren’t automatically added to organizations that may be attempting phishing attacks.
|
|
32
32
|
|
|
@@ -34,11 +34,11 @@ This offers choice for the end-user so that they aren’t automatically added to
|
|
|
34
34
|
|
|
35
35
|
Invitations do not have to be specific to an organization. An invitation sent without specifying an organization is an invitation to join the application. This enables your existing users to help grow your application by inviting peers organically.
|
|
36
36
|
|
|
37
|
-
When signup is disabled, users cannot register for a new account through [AuthKit](/
|
|
37
|
+
When signup is disabled, users cannot register for a new account through [AuthKit](/authkit) or the [API](/reference/authkit/invitation). When a valid invitation code is present in the sign-in flow, registration is opened up both in AuthKit and the API so that a new user may sign up. This lets you model your application as a closed-registration invitation-only system.
|
|
38
38
|
|
|
39
39
|
## Sending invitations
|
|
40
40
|
|
|
41
|
-
Invitations can be sent programmatically by your application with the [Invitation API](/reference/
|
|
41
|
+
Invitations can be sent programmatically by your application with the [Invitation API](/reference/authkit/invitation), or viewed and manually created in the [WorkOS Dashboard](https://dashboard.workos.com/). By default, WorkOS sends these emails, but you can also [send the emails yourself](/authkit/custom-emails).
|
|
42
42
|
|
|
43
43
|

|
|
44
44
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
title: Invite-only signup
|
|
3
3
|
description: Modeling an invite-only application without a public signup page.
|
|
4
4
|
showNextPage: false
|
|
5
|
-
originalPath: .tmp-workos-clone/packages/docs/content/
|
|
5
|
+
originalPath: .tmp-workos-clone/packages/docs/content/authkit/invite-only-signup.mdx
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
## Introduction
|
|
@@ -11,7 +11,7 @@ In this scenario, we outline the considerations, concepts, and best practices fo
|
|
|
11
11
|
|
|
12
12
|
## Goals & requirements
|
|
13
13
|
|
|
14
|
-
Imagine a company that wishes to model an invite only application that
|
|
14
|
+
Imagine a company that wishes to model an invite only application that requires an exclusive invite to access. The product is yet to launch, and as the initial release approaches they plan to seed memberships from a small subset of organizations and later allow existing users to invite new members from a quota.
|
|
15
15
|
|
|
16
16
|
The requirements are as follows:
|
|
17
17
|
|
|
@@ -63,7 +63,7 @@ Typically, an application will implement a "seed" script which will be run once
|
|
|
63
63
|
|
|
64
64
|
Custom invitation controls can be implemented within the application to allow members to invite other members. This generally requires adding a form to the UI to collect the email address of the user to invite alongside a button to trigger the API call. Additionally, a count of the number of invites a user has made might be stored and checked against a quota to ensure they don't exceed the number of invites they are allowed to send.
|
|
65
65
|
|
|
66
|
-
A call can then be made to [the WorkOS API](/reference/
|
|
66
|
+
A call can then be made to [the WorkOS API](/reference/authkit/invitation/send) by supplying the target users email address as well as the ID of the originating organization. The invited user can then accept this invite via email and move through the steps to gain access to the application.
|
|
67
67
|
|
|
68
68
|
## Summary
|
|
69
69
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Just-in-time Provisioning
|
|
3
|
+
description: Automatically provision users and memberships with JIT provisioning.
|
|
4
|
+
showNextPage: true
|
|
5
|
+
originalPath: .tmp-workos-clone/packages/docs/content/authkit/jit-provisioning.mdx
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Introduction
|
|
9
|
+
|
|
10
|
+
JIT provisioning automatically creates users and organization memberships when a user signs in. This feature allows users to access an organization’s resources without requiring manual invitations from the IT admin.
|
|
11
|
+
|
|
12
|
+
## Automatically add users with verified domains as members
|
|
13
|
+
|
|
14
|
+
Users with [verified email domains](/authkit/domain-verification) can be automatically added as members to an organization through the organization's [domain policy](/authkit/organization-policies/domain-policy). This feature is useful when an application or organization wants to automatically group individuals into the same workspace based on their email domain.
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
## SSO JIT provisioning
|
|
19
|
+
|
|
20
|
+
When a user signs in, WorkOS detects when their email domain matches a verified domain of an organization and prompts the user to sign in through the organization's IdP. If the user existed in WorkOS previously, that existing user is automatically added to the organization. Otherwise, a new user is created and added to the organization.
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
### Custom attributes
|
|
25
|
+
|
|
26
|
+
When JIT provisioning creates a membership via SSO, [custom attributes](/sso/attributes) from the SSO Profile are made available on the organization membership's `custom_attributes` field. This allows you to access IdP-sourced attributes in your application via the [organization membership API](/reference/authkit/organization-membership) or [JWT templates](/authkit/jwt-templates).
|
|
27
|
+
|
|
28
|
+
> If a directory is linked to the membership, the directory user's custom attributes will always take precedence over the SSO profile's attributes.
|
|
29
|
+
|
|
30
|
+
### Guest provisioning
|
|
31
|
+
|
|
32
|
+
SSO JIT provisioning is not fully supported for guests whose email domain has not been [verified](/authkit/domain-verification) by the organization.
|
|
33
|
+
|
|
34
|
+
For example, an IT admin may want to gate all contractor access through their IdP (to enable access revocation across applications) but the contractor prefers to use their own email address.
|
|
35
|
+
|
|
36
|
+
Instead, guest users must be [invited](/authkit/invitations) to join the organization before they are able to sign in with the organization's IdP.
|
|
37
|
+
|
|
38
|
+
## Disabling JIT provisioning
|
|
39
|
+
|
|
40
|
+
Both automatic membership by email domain and SSO JIT provisioning are enabled by default but can be disabled in the [WorkOS Dashboard](https://dashboard.workos.com).
|
|
41
|
+
|
|
42
|
+
Disabling these features may be useful if the IT admin prefers to manually control membership through [invitations](/authkit/invitations).
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
title: JWT Templates
|
|
3
3
|
description: Customize the claims in your application's access tokens.
|
|
4
4
|
showNextPage: true
|
|
5
|
-
originalPath: .tmp-workos-clone/packages/docs/content/
|
|
5
|
+
originalPath: .tmp-workos-clone/packages/docs/content/authkit/jwt-templates.mdx
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
## Introduction
|
|
9
9
|
|
|
10
|
-
JWT templates allow you to customize the claims in your application's access tokens issued by WorkOS. You can leverage core attributes of users and organizations, in addition to [custom metadata](/
|
|
10
|
+
JWT templates allow you to customize the claims in your application's access tokens issued by WorkOS. You can leverage core attributes of users and organizations, in addition to [custom metadata](/authkit/metadata) you set on these objects.
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -39,6 +39,40 @@ JWT templates are comprised of a template string which is rendered with the user
|
|
|
39
39
|
/>
|
|
40
40
|
</CodeBlock>
|
|
41
41
|
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Custom attributes
|
|
45
|
+
|
|
46
|
+
You can include IdP-sourced attributes in your JWT claims using the `organization_membership.custom_attributes` context. These attributes are available from the linked [Directory User](/reference/directory-sync/directory-user) or [SSO Profile](/reference/sso/profile).
|
|
47
|
+
|
|
48
|
+
To configure custom attributes, see the [Profile Attributes](/sso/attributes) guide for SSO or the [User Attributes](/directory-sync/attributes) guide for Directory Sync.
|
|
49
|
+
|
|
50
|
+
### Example
|
|
51
|
+
|
|
52
|
+
<CodeBlock>
|
|
53
|
+
<CodeBlockTab
|
|
54
|
+
language="js"
|
|
55
|
+
file="jwt-template-custom-attributes.trunk-ignore"
|
|
56
|
+
title="Template"
|
|
57
|
+
/>
|
|
58
|
+
<CodeBlockTab
|
|
59
|
+
language="js"
|
|
60
|
+
file="jwt-template-custom-attributes-context.trunk-ignore"
|
|
61
|
+
title="Context"
|
|
62
|
+
/>
|
|
63
|
+
<CodeBlockTab
|
|
64
|
+
language="js"
|
|
65
|
+
file="jwt-template-custom-attributes-output.trunk-ignore"
|
|
66
|
+
title="Output"
|
|
67
|
+
/>
|
|
68
|
+
</CodeBlock>
|
|
69
|
+
|
|
70
|
+
### Priority rules
|
|
71
|
+
|
|
72
|
+
When a membership is linked to both a Directory User and an SSO Profile, the Directory User's `custom_attributes` take precedence. This ensures consistent data when both IdP sources are configured.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
42
76
|
## Syntax
|
|
43
77
|
|
|
44
78
|
### 1. **Basic Variable Interpolation**
|
|
@@ -172,7 +206,7 @@ The rendering engine trims whitespace from the beginning and end of string value
|
|
|
172
206
|
|
|
173
207
|
If the template contains invalid syntax, an error will be thrown:
|
|
174
208
|
|
|
175
|
-
- **Template must render to an object:** If the template does not evaluate to a valid JSON object (e.g., an array or primitive value). Example:
|
|
209
|
+
- **Template must render to an object with at least one explicitly defined top-level key:** If the template does not evaluate to a valid JSON object (e.g., an array or primitive value). Example:
|
|
176
210
|
```js
|
|
177
211
|
[ {{ user.email }} ]
|
|
178
212
|
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Get started with AuthKit
|
|
3
|
+
description: >-
|
|
4
|
+
Set up AuthKit in your app using either the WorkOS CLI or a manual
|
|
5
|
+
framework-specific guide.
|
|
6
|
+
hideCopyButton: true
|
|
7
|
+
originalPath: .tmp-workos-clone/packages/docs/content/authkit/landing.mdx
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Install using the WorkOS CLI
|
|
11
|
+
|
|
12
|
+
Automatically integrate WorkOS into your app with this command. Learn more on [GitHub](https://github.com/workos/workos-cli).
|
|
13
|
+
|
|
14
|
+
```bash title="WorkOS CLI"
|
|
15
|
+
npx workos@latest
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Or install using your preferred stack
|
|
19
|
+
|
|
20
|
+
Follow a framework-specific guide to integrate AuthKit manually.
|
|
21
|
+
|
|
22
|
+
<AuthKitStackGrid />
|