@workos/mcp-docs-server 0.1.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.
Files changed (455) hide show
  1. package/.docs/organized/changelogs/workos-platform.json +277 -0
  2. package/.docs/organized/docs/admin-portal/_navigation.mdx +16 -0
  3. package/.docs/organized/docs/admin-portal/custom-branding.mdx +111 -0
  4. package/.docs/organized/docs/admin-portal/example-apps.mdx +46 -0
  5. package/.docs/organized/docs/admin-portal/index.mdx +240 -0
  6. package/.docs/organized/docs/audit-logs/_navigation.mdx +22 -0
  7. package/.docs/organized/docs/audit-logs/admin-portal.mdx +20 -0
  8. package/.docs/organized/docs/audit-logs/editing-events.mdx +27 -0
  9. package/.docs/organized/docs/audit-logs/exporting-events.mdx +29 -0
  10. package/.docs/organized/docs/audit-logs/index.mdx +110 -0
  11. package/.docs/organized/docs/audit-logs/log-streams.mdx +56 -0
  12. package/.docs/organized/docs/audit-logs/metadata-schema.mdx +21 -0
  13. package/.docs/organized/docs/custom-domains/_navigation.mdx +16 -0
  14. package/.docs/organized/docs/custom-domains/admin-portal.mdx +38 -0
  15. package/.docs/organized/docs/custom-domains/auth-api.mdx +59 -0
  16. package/.docs/organized/docs/custom-domains/authkit.mdx +36 -0
  17. package/.docs/organized/docs/custom-domains/email.mdx +41 -0
  18. package/.docs/organized/docs/custom-domains/index.mdx +19 -0
  19. package/.docs/organized/docs/dashboard.mdx +244 -0
  20. package/.docs/organized/docs/demo/_navigation.mdx +26 -0
  21. package/.docs/organized/docs/demo/accordion.mdx +34 -0
  22. package/.docs/organized/docs/demo/checklist.mdx +33 -0
  23. package/.docs/organized/docs/demo/code-block.mdx +185 -0
  24. package/.docs/organized/docs/demo/definition-list.mdx +35 -0
  25. package/.docs/organized/docs/demo/index.mdx +7 -0
  26. package/.docs/organized/docs/demo/punctuation.mdx +37 -0
  27. package/.docs/organized/docs/demo/replacements.mdx +26 -0
  28. package/.docs/organized/docs/demo/table.mdx +26 -0
  29. package/.docs/organized/docs/demo/tabs.mdx +17 -0
  30. package/.docs/organized/docs/directory-sync/_navigation.mdx +28 -0
  31. package/.docs/organized/docs/directory-sync/attributes.mdx +209 -0
  32. package/.docs/organized/docs/directory-sync/example-apps.mdx +46 -0
  33. package/.docs/organized/docs/directory-sync/handle-inactive-users.mdx +52 -0
  34. package/.docs/organized/docs/directory-sync/identity-provider-role-assignment.mdx +134 -0
  35. package/.docs/organized/docs/directory-sync/index.mdx +107 -0
  36. package/.docs/organized/docs/directory-sync/quick-start.mdx +129 -0
  37. package/.docs/organized/docs/directory-sync/understanding-events.mdx +209 -0
  38. package/.docs/organized/docs/domain-verification/_navigation.mdx +10 -0
  39. package/.docs/organized/docs/domain-verification/api.mdx +60 -0
  40. package/.docs/organized/docs/domain-verification/index.mdx +67 -0
  41. package/.docs/organized/docs/email.mdx +109 -0
  42. package/.docs/organized/docs/events/_navigation.mdx +22 -0
  43. package/.docs/organized/docs/events/data-syncing/data-reconciliation.mdx +56 -0
  44. package/.docs/organized/docs/events/data-syncing/events-api.mdx +114 -0
  45. package/.docs/organized/docs/events/data-syncing/index.mdx +66 -0
  46. package/.docs/organized/docs/events/data-syncing/webhooks.mdx +173 -0
  47. package/.docs/organized/docs/events/index.mdx +783 -0
  48. package/.docs/organized/docs/events/observability/datadog.mdx +76 -0
  49. package/.docs/organized/docs/fga/_navigation.mdx +64 -0
  50. package/.docs/organized/docs/fga/identity-provider-sessions.mdx +68 -0
  51. package/.docs/organized/docs/fga/index.mdx +60 -0
  52. package/.docs/organized/docs/fga/local-development.mdx +155 -0
  53. package/.docs/organized/docs/fga/modeling/abac.mdx +107 -0
  54. package/.docs/organized/docs/fga/modeling/blocklist.mdx +84 -0
  55. package/.docs/organized/docs/fga/modeling/conditional-roles.mdx +99 -0
  56. package/.docs/organized/docs/fga/modeling/custom-roles.mdx +90 -0
  57. package/.docs/organized/docs/fga/modeling/entitlements.mdx +127 -0
  58. package/.docs/organized/docs/fga/modeling/managed-service-provider.mdx +131 -0
  59. package/.docs/organized/docs/fga/modeling/org-roles-and-permissions.mdx +95 -0
  60. package/.docs/organized/docs/fga/modeling/policy-context.mdx +231 -0
  61. package/.docs/organized/docs/fga/modeling/public-access.mdx +61 -0
  62. package/.docs/organized/docs/fga/modeling/shareable-content.mdx +106 -0
  63. package/.docs/organized/docs/fga/modeling/superusers.mdx +74 -0
  64. package/.docs/organized/docs/fga/modeling/user-groups.mdx +92 -0
  65. package/.docs/organized/docs/fga/operations-usage.mdx +104 -0
  66. package/.docs/organized/docs/fga/playground.mdx +12 -0
  67. package/.docs/organized/docs/fga/policies.mdx +462 -0
  68. package/.docs/organized/docs/fga/query-language.mdx +112 -0
  69. package/.docs/organized/docs/fga/quick-start.mdx +174 -0
  70. package/.docs/organized/docs/fga/resources.mdx +92 -0
  71. package/.docs/organized/docs/fga/schema-management.mdx +224 -0
  72. package/.docs/organized/docs/fga/schema.mdx +388 -0
  73. package/.docs/organized/docs/fga/warrant-tokens.mdx +44 -0
  74. package/.docs/organized/docs/fga/warrants.mdx +92 -0
  75. package/.docs/organized/docs/glossary.mdx +184 -0
  76. package/.docs/organized/docs/integrations/_navigation.mdx +6 -0
  77. package/.docs/organized/docs/integrations/access-people-hr.mdx +87 -0
  78. package/.docs/organized/docs/integrations/adp-oidc.mdx +103 -0
  79. package/.docs/organized/docs/integrations/apple.mdx +169 -0
  80. package/.docs/organized/docs/integrations/auth0-directory-sync.mdx +78 -0
  81. package/.docs/organized/docs/integrations/auth0-enterprise-connection.mdx +92 -0
  82. package/.docs/organized/docs/integrations/auth0-saml.mdx +81 -0
  83. package/.docs/organized/docs/integrations/aws-cognito.mdx +81 -0
  84. package/.docs/organized/docs/integrations/bamboohr.mdx +90 -0
  85. package/.docs/organized/docs/integrations/breathe-hr.mdx +89 -0
  86. package/.docs/organized/docs/integrations/bubble.mdx +129 -0
  87. package/.docs/organized/docs/integrations/cas-saml.mdx +65 -0
  88. package/.docs/organized/docs/integrations/cezanne.mdx +74 -0
  89. package/.docs/organized/docs/integrations/classlink-saml.mdx +100 -0
  90. package/.docs/organized/docs/integrations/cloudflare-saml.mdx +164 -0
  91. package/.docs/organized/docs/integrations/cyberark-saml.mdx +138 -0
  92. package/.docs/organized/docs/integrations/cyberark-scim.mdx +100 -0
  93. package/.docs/organized/docs/integrations/duo-saml.mdx +127 -0
  94. package/.docs/organized/docs/integrations/entra-id-saml.mdx +156 -0
  95. package/.docs/organized/docs/integrations/entra-id-scim.mdx +218 -0
  96. package/.docs/organized/docs/integrations/firebase.mdx +98 -0
  97. package/.docs/organized/docs/integrations/fourth.mdx +66 -0
  98. package/.docs/organized/docs/integrations/github-oauth.mdx +85 -0
  99. package/.docs/organized/docs/integrations/gitlab-oauth.mdx +81 -0
  100. package/.docs/organized/docs/integrations/google-directory-sync.mdx +86 -0
  101. package/.docs/organized/docs/integrations/google-oauth.mdx +173 -0
  102. package/.docs/organized/docs/integrations/google-saml.mdx +135 -0
  103. package/.docs/organized/docs/integrations/hibob.mdx +98 -0
  104. package/.docs/organized/docs/integrations/jumpcloud-saml.mdx +96 -0
  105. package/.docs/organized/docs/integrations/jumpcloud-scim.mdx +106 -0
  106. package/.docs/organized/docs/integrations/keycloak-saml.mdx +128 -0
  107. package/.docs/organized/docs/integrations/lastpass-saml.mdx +134 -0
  108. package/.docs/organized/docs/integrations/linkedin-oauth.mdx +77 -0
  109. package/.docs/organized/docs/integrations/login-gov-oidc.mdx +103 -0
  110. package/.docs/organized/docs/integrations/microsoft-ad-fs-saml.mdx +96 -0
  111. package/.docs/organized/docs/integrations/microsoft-oauth.mdx +101 -0
  112. package/.docs/organized/docs/integrations/miniorange-saml.mdx +124 -0
  113. package/.docs/organized/docs/integrations/net-iq-saml.mdx +75 -0
  114. package/.docs/organized/docs/integrations/next-auth.mdx +257 -0
  115. package/.docs/organized/docs/integrations/oidc.mdx +64 -0
  116. package/.docs/organized/docs/integrations/okta-saml.mdx +144 -0
  117. package/.docs/organized/docs/integrations/okta-scim.mdx +210 -0
  118. package/.docs/organized/docs/integrations/onelogin-saml.mdx +131 -0
  119. package/.docs/organized/docs/integrations/onelogin-scim.mdx +150 -0
  120. package/.docs/organized/docs/integrations/oracle-saml.mdx +76 -0
  121. package/.docs/organized/docs/integrations/pingfederate-saml.mdx +103 -0
  122. package/.docs/organized/docs/integrations/pingfederate-scim.mdx +150 -0
  123. package/.docs/organized/docs/integrations/pingone-saml.mdx +86 -0
  124. package/.docs/organized/docs/integrations/react-native-expo.mdx +93 -0
  125. package/.docs/organized/docs/integrations/rippling-saml.mdx +174 -0
  126. package/.docs/organized/docs/integrations/rippling-scim.mdx +148 -0
  127. package/.docs/organized/docs/integrations/salesforce-saml.mdx +143 -0
  128. package/.docs/organized/docs/integrations/saml.mdx +64 -0
  129. package/.docs/organized/docs/integrations/scim.mdx +64 -0
  130. package/.docs/organized/docs/integrations/sftp.mdx +150 -0
  131. package/.docs/organized/docs/integrations/shibboleth-generic-saml.mdx +84 -0
  132. package/.docs/organized/docs/integrations/shibboleth-unsolicited-saml.mdx +84 -0
  133. package/.docs/organized/docs/integrations/simple-saml-php.mdx +78 -0
  134. package/.docs/organized/docs/integrations/slack-oauth.mdx +102 -0
  135. package/.docs/organized/docs/integrations/supabase.mdx +68 -0
  136. package/.docs/organized/docs/integrations/vmware-saml.mdx +100 -0
  137. package/.docs/organized/docs/integrations/workday.mdx +156 -0
  138. package/.docs/organized/docs/integrations/xero-oauth.mdx +83 -0
  139. package/.docs/organized/docs/magic-link/_navigation.mdx +16 -0
  140. package/.docs/organized/docs/magic-link/example-apps.mdx +46 -0
  141. package/.docs/organized/docs/magic-link/index.mdx +199 -0
  142. package/.docs/organized/docs/magic-link/launch-checklist.mdx +27 -0
  143. package/.docs/organized/docs/mfa/_navigation.mdx +18 -0
  144. package/.docs/organized/docs/mfa/example-apps.mdx +46 -0
  145. package/.docs/organized/docs/mfa/index.mdx +140 -0
  146. package/.docs/organized/docs/mfa/ux/enrollment.mdx +74 -0
  147. package/.docs/organized/docs/mfa/ux/sign-in.mdx +30 -0
  148. package/.docs/organized/docs/migrate/_navigation.mdx +6 -0
  149. package/.docs/organized/docs/migrate/auth0.mdx +98 -0
  150. package/.docs/organized/docs/migrate/aws-cognito.mdx +115 -0
  151. package/.docs/organized/docs/migrate/clerk.mdx +106 -0
  152. package/.docs/organized/docs/migrate/firebase.mdx +80 -0
  153. package/.docs/organized/docs/migrate/other-services.mdx +179 -0
  154. package/.docs/organized/docs/migrate/standalone-sso.mdx +105 -0
  155. package/.docs/organized/docs/on-prem-deployment.mdx +119 -0
  156. package/.docs/organized/docs/postman.mdx +90 -0
  157. package/.docs/organized/docs/reference/_navigation.mdx +527 -0
  158. package/.docs/organized/docs/reference/admin-portal/index.mdx +6 -0
  159. package/.docs/organized/docs/reference/admin-portal/portal-link/generate.mdx +268 -0
  160. package/.docs/organized/docs/reference/admin-portal/portal-link/index.mdx +15 -0
  161. package/.docs/organized/docs/reference/admin-portal/provider-icons/index.mdx +52 -0
  162. package/.docs/organized/docs/reference/api-keys.mdx +22 -0
  163. package/.docs/organized/docs/reference/audit-logs/audit-log-export.mdx +239 -0
  164. package/.docs/organized/docs/reference/audit-logs/audit-log-schema.mdx +69 -0
  165. package/.docs/organized/docs/reference/audit-logs/create-event.mdx +673 -0
  166. package/.docs/organized/docs/reference/audit-logs/create-export.mdx +308 -0
  167. package/.docs/organized/docs/reference/audit-logs/create-schema.mdx +95 -0
  168. package/.docs/organized/docs/reference/audit-logs/get-export.mdx +117 -0
  169. package/.docs/organized/docs/reference/audit-logs/get-retention.mdx +34 -0
  170. package/.docs/organized/docs/reference/audit-logs/index.mdx +6 -0
  171. package/.docs/organized/docs/reference/audit-logs/list-actions.mdx +40 -0
  172. package/.docs/organized/docs/reference/audit-logs/list-schemas.mdx +40 -0
  173. package/.docs/organized/docs/reference/audit-logs/set-retention.mdx +39 -0
  174. package/.docs/organized/docs/reference/client-libraries.mdx +19 -0
  175. package/.docs/organized/docs/reference/directory-sync/directory/delete.mdx +90 -0
  176. package/.docs/organized/docs/reference/directory-sync/directory/get.mdx +105 -0
  177. package/.docs/organized/docs/reference/directory-sync/directory/index.mdx +385 -0
  178. package/.docs/organized/docs/reference/directory-sync/directory/list.mdx +281 -0
  179. package/.docs/organized/docs/reference/directory-sync/directory-group/get.mdx +105 -0
  180. package/.docs/organized/docs/reference/directory-sync/directory-group/index.mdx +277 -0
  181. package/.docs/organized/docs/reference/directory-sync/directory-group/list.mdx +295 -0
  182. package/.docs/organized/docs/reference/directory-sync/directory-user/get.mdx +112 -0
  183. package/.docs/organized/docs/reference/directory-sync/directory-user/index.mdx +470 -0
  184. package/.docs/organized/docs/reference/directory-sync/directory-user/list.mdx +304 -0
  185. package/.docs/organized/docs/reference/directory-sync/index.mdx +10 -0
  186. package/.docs/organized/docs/reference/domain-verification/create.mdx +38 -0
  187. package/.docs/organized/docs/reference/domain-verification/get.mdx +32 -0
  188. package/.docs/organized/docs/reference/domain-verification/index.mdx +84 -0
  189. package/.docs/organized/docs/reference/domain-verification/verify.mdx +36 -0
  190. package/.docs/organized/docs/reference/errors.mdx +30 -0
  191. package/.docs/organized/docs/reference/events/index.mdx +9 -0
  192. package/.docs/organized/docs/reference/events/list.mdx +246 -0
  193. package/.docs/organized/docs/reference/fga/batch-check.mdx +277 -0
  194. package/.docs/organized/docs/reference/fga/check.mdx +563 -0
  195. package/.docs/organized/docs/reference/fga/index.mdx +6 -0
  196. package/.docs/organized/docs/reference/fga/policy/create.mdx +27 -0
  197. package/.docs/organized/docs/reference/fga/policy/delete.mdx +18 -0
  198. package/.docs/organized/docs/reference/fga/policy/get.mdx +23 -0
  199. package/.docs/organized/docs/reference/fga/policy/index.mdx +52 -0
  200. package/.docs/organized/docs/reference/fga/policy/list.mdx +41 -0
  201. package/.docs/organized/docs/reference/fga/policy/update.mdx +26 -0
  202. package/.docs/organized/docs/reference/fga/query.mdx +375 -0
  203. package/.docs/organized/docs/reference/fga/resource/batch-write.mdx +175 -0
  204. package/.docs/organized/docs/reference/fga/resource/create.mdx +130 -0
  205. package/.docs/organized/docs/reference/fga/resource/delete.mdx +86 -0
  206. package/.docs/organized/docs/reference/fga/resource/get.mdx +88 -0
  207. package/.docs/organized/docs/reference/fga/resource/index.mdx +98 -0
  208. package/.docs/organized/docs/reference/fga/resource/list.mdx +188 -0
  209. package/.docs/organized/docs/reference/fga/resource/update.mdx +115 -0
  210. package/.docs/organized/docs/reference/fga/resource-type/apply.mdx +35 -0
  211. package/.docs/organized/docs/reference/fga/resource-type/create.mdx +24 -0
  212. package/.docs/organized/docs/reference/fga/resource-type/delete.mdx +22 -0
  213. package/.docs/organized/docs/reference/fga/resource-type/get.mdx +23 -0
  214. package/.docs/organized/docs/reference/fga/resource-type/index.mdx +68 -0
  215. package/.docs/organized/docs/reference/fga/resource-type/list.mdx +36 -0
  216. package/.docs/organized/docs/reference/fga/resource-type/update.mdx +23 -0
  217. package/.docs/organized/docs/reference/fga/schema/apply.mdx +42 -0
  218. package/.docs/organized/docs/reference/fga/schema/get.mdx +24 -0
  219. package/.docs/organized/docs/reference/fga/schema/index.mdx +39 -0
  220. package/.docs/organized/docs/reference/fga/warrant/batch-write.mdx +226 -0
  221. package/.docs/organized/docs/reference/fga/warrant/create.mdx +215 -0
  222. package/.docs/organized/docs/reference/fga/warrant/delete.mdx +212 -0
  223. package/.docs/organized/docs/reference/fga/warrant/index.mdx +186 -0
  224. package/.docs/organized/docs/reference/fga/warrant/list.mdx +282 -0
  225. package/.docs/organized/docs/reference/idempotency.mdx +21 -0
  226. package/.docs/organized/docs/reference/index.mdx +194 -0
  227. package/.docs/organized/docs/reference/magic-link/index.mdx +8 -0
  228. package/.docs/organized/docs/reference/magic-link/passwordless-session/create.mdx +268 -0
  229. package/.docs/organized/docs/reference/magic-link/passwordless-session/index.mdx +203 -0
  230. package/.docs/organized/docs/reference/magic-link/passwordless-session/send-email.mdx +158 -0
  231. package/.docs/organized/docs/reference/mfa/authentication-challenge.mdx +217 -0
  232. package/.docs/organized/docs/reference/mfa/authentication-factor.mdx +381 -0
  233. package/.docs/organized/docs/reference/mfa/challenge-factor.mdx +170 -0
  234. package/.docs/organized/docs/reference/mfa/delete-factor.mdx +93 -0
  235. package/.docs/organized/docs/reference/mfa/enroll-factor.mdx +241 -0
  236. package/.docs/organized/docs/reference/mfa/get-factor.mdx +108 -0
  237. package/.docs/organized/docs/reference/mfa/index.mdx +8 -0
  238. package/.docs/organized/docs/reference/mfa/verify-challenge.mdx +228 -0
  239. package/.docs/organized/docs/reference/organization/create.mdx +216 -0
  240. package/.docs/organized/docs/reference/organization/delete.mdx +89 -0
  241. package/.docs/organized/docs/reference/organization/get-by-external-id.mdx +40 -0
  242. package/.docs/organized/docs/reference/organization/get.mdx +104 -0
  243. package/.docs/organized/docs/reference/organization/index.mdx +274 -0
  244. package/.docs/organized/docs/reference/organization/list.mdx +258 -0
  245. package/.docs/organized/docs/reference/organization/update.mdx +236 -0
  246. package/.docs/organized/docs/reference/organization-domain.mdx +189 -0
  247. package/.docs/organized/docs/reference/pagination.mdx +244 -0
  248. package/.docs/organized/docs/reference/radar/attempts/create.mdx +115 -0
  249. package/.docs/organized/docs/reference/radar/attempts/index.mdx +7 -0
  250. package/.docs/organized/docs/reference/radar/attempts/update.mdx +34 -0
  251. package/.docs/organized/docs/reference/radar/index.mdx +8 -0
  252. package/.docs/organized/docs/reference/radar/lists/delete.mdx +36 -0
  253. package/.docs/organized/docs/reference/radar/lists/index.mdx +7 -0
  254. package/.docs/organized/docs/reference/radar/lists/update.mdx +36 -0
  255. package/.docs/organized/docs/reference/rate-limits.mdx +50 -0
  256. package/.docs/organized/docs/reference/roles/index.mdx +268 -0
  257. package/.docs/organized/docs/reference/roles/list-for-organization.mdx +152 -0
  258. package/.docs/organized/docs/reference/sso/connection/delete.mdx +89 -0
  259. package/.docs/organized/docs/reference/sso/connection/get.mdx +104 -0
  260. package/.docs/organized/docs/reference/sso/connection/index.mdx +388 -0
  261. package/.docs/organized/docs/reference/sso/connection/list.mdx +320 -0
  262. package/.docs/organized/docs/reference/sso/get-authorization-url/error-codes.mdx +28 -0
  263. package/.docs/organized/docs/reference/sso/get-authorization-url/index.mdx +434 -0
  264. package/.docs/organized/docs/reference/sso/get-authorization-url/redirect-uri.mdx +21 -0
  265. package/.docs/organized/docs/reference/sso/index.mdx +8 -0
  266. package/.docs/organized/docs/reference/sso/logout/authorize.mdx +47 -0
  267. package/.docs/organized/docs/reference/sso/logout/index.mdx +14 -0
  268. package/.docs/organized/docs/reference/sso/logout/redirect.mdx +32 -0
  269. package/.docs/organized/docs/reference/sso/profile/get-profile-and-token.mdx +229 -0
  270. package/.docs/organized/docs/reference/sso/profile/get-user-profile.mdx +127 -0
  271. package/.docs/organized/docs/reference/sso/profile/index.mdx +364 -0
  272. package/.docs/organized/docs/reference/testing.mdx +8 -0
  273. package/.docs/organized/docs/reference/user-management/access-token/index.mdx +13 -0
  274. package/.docs/organized/docs/reference/user-management/authentication/code.mdx +448 -0
  275. package/.docs/organized/docs/reference/user-management/authentication/email-verification.mdx +359 -0
  276. package/.docs/organized/docs/reference/user-management/authentication/get-authorization-url/error-codes.mdx +25 -0
  277. package/.docs/organized/docs/reference/user-management/authentication/get-authorization-url/index.mdx +425 -0
  278. package/.docs/organized/docs/reference/user-management/authentication/get-authorization-url/pkce.mdx +9 -0
  279. package/.docs/organized/docs/reference/user-management/authentication/get-authorization-url/redirect-uri.mdx +23 -0
  280. package/.docs/organized/docs/reference/user-management/authentication/index.mdx +66 -0
  281. package/.docs/organized/docs/reference/user-management/authentication/magic-auth.mdx +353 -0
  282. package/.docs/organized/docs/reference/user-management/authentication/organization-selection.mdx +349 -0
  283. package/.docs/organized/docs/reference/user-management/authentication/password.mdx +350 -0
  284. package/.docs/organized/docs/reference/user-management/authentication/refresh-and-seal-session-data.mdx +57 -0
  285. package/.docs/organized/docs/reference/user-management/authentication/refresh-token.mdx +381 -0
  286. package/.docs/organized/docs/reference/user-management/authentication/session-cookie.mdx +79 -0
  287. package/.docs/organized/docs/reference/user-management/authentication/totp.mdx +369 -0
  288. package/.docs/organized/docs/reference/user-management/authentication-errors/email-verification-required-error.mdx +42 -0
  289. package/.docs/organized/docs/reference/user-management/authentication-errors/index.mdx +20 -0
  290. package/.docs/organized/docs/reference/user-management/authentication-errors/mfa-challenge-error.mdx +44 -0
  291. package/.docs/organized/docs/reference/user-management/authentication-errors/mfa-enrollment-error.mdx +37 -0
  292. package/.docs/organized/docs/reference/user-management/authentication-errors/organization-authentication-required-error.mdx +68 -0
  293. package/.docs/organized/docs/reference/user-management/authentication-errors/organization-selection-error.mdx +44 -0
  294. package/.docs/organized/docs/reference/user-management/authentication-errors/sso-required-error.mdx +51 -0
  295. package/.docs/organized/docs/reference/user-management/email-verification/get.mdx +88 -0
  296. package/.docs/organized/docs/reference/user-management/email-verification/index.mdx +227 -0
  297. package/.docs/organized/docs/reference/user-management/identity/index.mdx +74 -0
  298. package/.docs/organized/docs/reference/user-management/identity/list.mdx +52 -0
  299. package/.docs/organized/docs/reference/user-management/index.mdx +13 -0
  300. package/.docs/organized/docs/reference/user-management/invitation/accept.mdx +39 -0
  301. package/.docs/organized/docs/reference/user-management/invitation/find-by-token.mdx +87 -0
  302. package/.docs/organized/docs/reference/user-management/invitation/get.mdx +87 -0
  303. package/.docs/organized/docs/reference/user-management/invitation/index.mdx +374 -0
  304. package/.docs/organized/docs/reference/user-management/invitation/list.mdx +247 -0
  305. package/.docs/organized/docs/reference/user-management/invitation/revoke.mdx +90 -0
  306. package/.docs/organized/docs/reference/user-management/invitation/send.mdx +230 -0
  307. package/.docs/organized/docs/reference/user-management/logout/get-logout-url-from-session-cookie.mdx +52 -0
  308. package/.docs/organized/docs/reference/user-management/logout/get-logout-url.mdx +147 -0
  309. package/.docs/organized/docs/reference/user-management/logout/index.mdx +26 -0
  310. package/.docs/organized/docs/reference/user-management/magic-auth/create.mdx +148 -0
  311. package/.docs/organized/docs/reference/user-management/magic-auth/get.mdx +88 -0
  312. package/.docs/organized/docs/reference/user-management/magic-auth/index.mdx +225 -0
  313. package/.docs/organized/docs/reference/user-management/mfa/authentication-challenge.mdx +194 -0
  314. package/.docs/organized/docs/reference/user-management/mfa/authentication-factor.mdx +324 -0
  315. package/.docs/organized/docs/reference/user-management/mfa/enroll-auth-factor.mdx +296 -0
  316. package/.docs/organized/docs/reference/user-management/mfa/index.mdx +5 -0
  317. package/.docs/organized/docs/reference/user-management/mfa/list-auth-factors.mdx +194 -0
  318. package/.docs/organized/docs/reference/user-management/organization-membership/create.mdx +155 -0
  319. package/.docs/organized/docs/reference/user-management/organization-membership/deactivate.mdx +106 -0
  320. package/.docs/organized/docs/reference/user-management/organization-membership/delete.mdx +76 -0
  321. package/.docs/organized/docs/reference/user-management/organization-membership/get.mdx +95 -0
  322. package/.docs/organized/docs/reference/user-management/organization-membership/index.mdx +265 -0
  323. package/.docs/organized/docs/reference/user-management/organization-membership/list.mdx +291 -0
  324. package/.docs/organized/docs/reference/user-management/organization-membership/reactivate.mdx +106 -0
  325. package/.docs/organized/docs/reference/user-management/organization-membership/update.mdx +119 -0
  326. package/.docs/organized/docs/reference/user-management/password-reset/create.mdx +108 -0
  327. package/.docs/organized/docs/reference/user-management/password-reset/get.mdx +88 -0
  328. package/.docs/organized/docs/reference/user-management/password-reset/index.mdx +227 -0
  329. package/.docs/organized/docs/reference/user-management/password-reset/reset-password.mdx +144 -0
  330. package/.docs/organized/docs/reference/user-management/session-helpers/authenticate.mdx +176 -0
  331. package/.docs/organized/docs/reference/user-management/session-helpers/get-logout-url.mdx +42 -0
  332. package/.docs/organized/docs/reference/user-management/session-helpers/index.mdx +14 -0
  333. package/.docs/organized/docs/reference/user-management/session-helpers/load-sealed-session.mdx +105 -0
  334. package/.docs/organized/docs/reference/user-management/session-helpers/refresh.mdx +213 -0
  335. package/.docs/organized/docs/reference/user-management/session-tokens/access-token.mdx +90 -0
  336. package/.docs/organized/docs/reference/user-management/session-tokens/index.mdx +5 -0
  337. package/.docs/organized/docs/reference/user-management/session-tokens/jwks.mdx +110 -0
  338. package/.docs/organized/docs/reference/user-management/session-tokens/refresh-token.mdx +8 -0
  339. package/.docs/organized/docs/reference/user-management/user/create.mdx +327 -0
  340. package/.docs/organized/docs/reference/user-management/user/delete.mdx +76 -0
  341. package/.docs/organized/docs/reference/user-management/user/get-by-external-id.mdx +39 -0
  342. package/.docs/organized/docs/reference/user-management/user/get.mdx +103 -0
  343. package/.docs/organized/docs/reference/user-management/user/index.mdx +322 -0
  344. package/.docs/organized/docs/reference/user-management/user/list.mdx +260 -0
  345. package/.docs/organized/docs/reference/user-management/user/update.mdx +344 -0
  346. package/.docs/organized/docs/reference/vault/index.mdx +6 -0
  347. package/.docs/organized/docs/reference/vault/key/create-data-key.mdx +106 -0
  348. package/.docs/organized/docs/reference/vault/key/decrypt-data-key.mdx +84 -0
  349. package/.docs/organized/docs/reference/vault/key/decrypt-data.mdx +52 -0
  350. package/.docs/organized/docs/reference/vault/key/encrypt-data.mdx +58 -0
  351. package/.docs/organized/docs/reference/vault/key/index.mdx +25 -0
  352. package/.docs/organized/docs/reference/vault/object/create.mdx +62 -0
  353. package/.docs/organized/docs/reference/vault/object/delete.mdx +75 -0
  354. package/.docs/organized/docs/reference/vault/object/get.mdx +50 -0
  355. package/.docs/organized/docs/reference/vault/object/index.mdx +174 -0
  356. package/.docs/organized/docs/reference/vault/object/list.mdx +105 -0
  357. package/.docs/organized/docs/reference/vault/object/metadata.mdx +52 -0
  358. package/.docs/organized/docs/reference/vault/object/update.mdx +67 -0
  359. package/.docs/organized/docs/reference/vault/object/version.mdx +87 -0
  360. package/.docs/organized/docs/reference/vault/object/versions.mdx +83 -0
  361. package/.docs/organized/docs/reference/widgets/get-token.mdx +185 -0
  362. package/.docs/organized/docs/reference/widgets/index.mdx +6 -0
  363. package/.docs/organized/docs/reference/workos-connect/authorize/index.mdx +75 -0
  364. package/.docs/organized/docs/reference/workos-connect/index.mdx +33 -0
  365. package/.docs/organized/docs/reference/workos-connect/introspection/index.mdx +122 -0
  366. package/.docs/organized/docs/reference/workos-connect/metadata/index.mdx +25 -0
  367. package/.docs/organized/docs/reference/workos-connect/metadata/oauth-authorization-server/index.mdx +99 -0
  368. package/.docs/organized/docs/reference/workos-connect/metadata/openid-configuration/index.mdx +70 -0
  369. package/.docs/organized/docs/reference/workos-connect/token/authorization-code-grant/access-token.mdx +53 -0
  370. package/.docs/organized/docs/reference/workos-connect/token/authorization-code-grant/id-token.mdx +60 -0
  371. package/.docs/organized/docs/reference/workos-connect/token/authorization-code-grant/index.mdx +69 -0
  372. package/.docs/organized/docs/reference/workos-connect/token/client-credentials-grant/access-token.mdx +46 -0
  373. package/.docs/organized/docs/reference/workos-connect/token/client-credentials-grant/index.mdx +56 -0
  374. package/.docs/organized/docs/reference/workos-connect/token/index.mdx +39 -0
  375. package/.docs/organized/docs/reference/workos-connect/token/refresh-token-grant.mdx +69 -0
  376. package/.docs/organized/docs/reference/workos-connect/userinfo/index.mdx +46 -0
  377. package/.docs/organized/docs/sdks/dotnet.mdx +6 -0
  378. package/.docs/organized/docs/sdks/elixir.mdx +6 -0
  379. package/.docs/organized/docs/sdks/go.mdx +6 -0
  380. package/.docs/organized/docs/sdks/java.mdx +9 -0
  381. package/.docs/organized/docs/sdks/laravel.mdx +6 -0
  382. package/.docs/organized/docs/sdks/node.mdx +9 -0
  383. package/.docs/organized/docs/sdks/php.mdx +6 -0
  384. package/.docs/organized/docs/sdks/python.mdx +6 -0
  385. package/.docs/organized/docs/sdks/ruby.mdx +9 -0
  386. package/.docs/organized/docs/sso/_navigation.mdx +44 -0
  387. package/.docs/organized/docs/sso/_sequence-diagrams/saml-protocol-security-considerations.md +59 -0
  388. package/.docs/organized/docs/sso/attributes.mdx +110 -0
  389. package/.docs/organized/docs/sso/domains.mdx +111 -0
  390. package/.docs/organized/docs/sso/example-apps.mdx +46 -0
  391. package/.docs/organized/docs/sso/identity-provider-role-assignment.mdx +113 -0
  392. package/.docs/organized/docs/sso/index.mdx +295 -0
  393. package/.docs/organized/docs/sso/it-team-faq.mdx +35 -0
  394. package/.docs/organized/docs/sso/jit-provisioning.mdx +101 -0
  395. package/.docs/organized/docs/sso/launch-checklist.mdx +71 -0
  396. package/.docs/organized/docs/sso/login-flows.mdx +101 -0
  397. package/.docs/organized/docs/sso/redirect-uris.mdx +44 -0
  398. package/.docs/organized/docs/sso/saml-security.mdx +122 -0
  399. package/.docs/organized/docs/sso/signing-certificates.mdx +121 -0
  400. package/.docs/organized/docs/sso/single-logout.mdx +45 -0
  401. package/.docs/organized/docs/sso/test-sso.mdx +73 -0
  402. package/.docs/organized/docs/sso/ux/sign-in.mdx +44 -0
  403. package/.docs/organized/docs/user-management/_navigation.mdx +87 -0
  404. package/.docs/organized/docs/user-management/actions.mdx +169 -0
  405. package/.docs/organized/docs/user-management/authkit.mdx +69 -0
  406. package/.docs/organized/docs/user-management/branding.mdx +143 -0
  407. package/.docs/organized/docs/user-management/connect.mdx +110 -0
  408. package/.docs/organized/docs/user-management/custom-emails.mdx +164 -0
  409. package/.docs/organized/docs/user-management/directory-provisioning.mdx +78 -0
  410. package/.docs/organized/docs/user-management/domain-verification.mdx +28 -0
  411. package/.docs/organized/docs/user-management/email-password.mdx +42 -0
  412. package/.docs/organized/docs/user-management/email-verification.mdx +29 -0
  413. package/.docs/organized/docs/user-management/entitlements.mdx +46 -0
  414. package/.docs/organized/docs/user-management/example-apps.mdx +39 -0
  415. package/.docs/organized/docs/user-management/identity-linking.mdx +52 -0
  416. package/.docs/organized/docs/user-management/impersonation.mdx +82 -0
  417. package/.docs/organized/docs/user-management/index.mdx +525 -0
  418. package/.docs/organized/docs/user-management/invitations.mdx +60 -0
  419. package/.docs/organized/docs/user-management/invite-only-signup.mdx +72 -0
  420. package/.docs/organized/docs/user-management/jit-provisioning.mdx +36 -0
  421. package/.docs/organized/docs/user-management/jwt-templates.mdx +278 -0
  422. package/.docs/organized/docs/user-management/magic-auth.mdx +36 -0
  423. package/.docs/organized/docs/user-management/mcp.mdx +146 -0
  424. package/.docs/organized/docs/user-management/metadata.mdx +119 -0
  425. package/.docs/organized/docs/user-management/mfa.mdx +32 -0
  426. package/.docs/organized/docs/user-management/migrations.mdx +20 -0
  427. package/.docs/organized/docs/user-management/modeling-your-app.mdx +149 -0
  428. package/.docs/organized/docs/user-management/organization-policies.mdx +33 -0
  429. package/.docs/organized/docs/user-management/overview.mdx +46 -0
  430. package/.docs/organized/docs/user-management/passkeys.mdx +42 -0
  431. package/.docs/organized/docs/user-management/radar.mdx +127 -0
  432. package/.docs/organized/docs/user-management/roles-and-permissions.mdx +155 -0
  433. package/.docs/organized/docs/user-management/sessions.mdx +101 -0
  434. package/.docs/organized/docs/user-management/social-login.mdx +34 -0
  435. package/.docs/organized/docs/user-management/sso-with-contractors.mdx +85 -0
  436. package/.docs/organized/docs/user-management/sso.mdx +96 -0
  437. package/.docs/organized/docs/user-management/users-organizations.mdx +91 -0
  438. package/.docs/organized/docs/user-management/widgets.mdx +190 -0
  439. package/.docs/organized/docs/vault/_navigation.mdx +14 -0
  440. package/.docs/organized/docs/vault/index.mdx +38 -0
  441. package/.docs/organized/docs/vault/key-context.mdx +32 -0
  442. package/.docs/organized/docs/vault/quick-start.mdx +82 -0
  443. package/README.md +252 -0
  444. package/dist/chunk-64GKEK6G.js +48 -0
  445. package/dist/chunk-64GKEK6G.js.map +1 -0
  446. package/dist/get-tools.d.ts +23 -0
  447. package/dist/get-tools.js +8 -0
  448. package/dist/get-tools.js.map +1 -0
  449. package/dist/index.d.ts +1 -0
  450. package/dist/index.js +552 -0
  451. package/dist/index.js.map +1 -0
  452. package/dist/prepare.d.ts +2 -0
  453. package/dist/prepare.js +269 -0
  454. package/dist/prepare.js.map +1 -0
  455. package/package.json +49 -0
@@ -0,0 +1,36 @@
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/user-management/jit-provisioning.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ JIT provisioning automatically creates users and organization memberships when a user signs in for the first time. 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](/user-management/domain-verification) can be automatically added as members to an organization through the organization's [domain policy](/user-management/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
+ ![Configuring a domain policy in the dashboard](https://images.workoscdn.com/images/b98493d9-f9fe-475d-a448-f9099558cd19.png?auto=format&fit=clip&q=50)
17
+
18
+ ## SSO JIT provisioning
19
+
20
+ When a user signs in for the first time, 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. This user is then automatically created and added as a member to the organization.
21
+
22
+ ![Configuring just-in-time provisioning for SSO users in the dashboard](https://images.workoscdn.com/images/90a85516-ed7a-4bd4-88a5-384b2f818436.png?auto=format&fit=clip&q=50)
23
+
24
+ ### Guest provisioning
25
+
26
+ SSO JIT provisioning is not fully supported for guests whose email domain has not been [verified](/user-management/domain-verification) by the organization.
27
+
28
+ 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.
29
+
30
+ Instead, guest users must be [invited](/user-management/invitations) to join the organization before they are able to sign in with the organization's IdP.
31
+
32
+ ## Disabling JIT provisioning
33
+
34
+ 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).
35
+
36
+ Disabling these features may be useful if the IT admin prefers to manually control membership through [invitations](/user-management/invitations).
@@ -0,0 +1,278 @@
1
+ ---
2
+ title: JWT Templates
3
+ description: Customize the claims in your application's access tokens.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/user-management/jwt-templates.mdx
6
+ ---
7
+
8
+ ## Introduction
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](/user-management/metadata) you set on these objects.
11
+
12
+ ---
13
+
14
+ ## Create a JWT template
15
+
16
+ JWT templates are managed in the Authentication section of the [WorkOS Dashboard](https://dashboard.workos.com/). Under the sessions section, choose Configure JWT Template.
17
+
18
+ ![WorkOS dashboard demonstrating the position of the "Configure JWT template" button](https://images.workoscdn.com/images/27daa36f-ca4e-4733-bd1b-ebb961f45454.png?auto=format&fit=clip&q=50)
19
+
20
+ JWT templates are comprised of a template string which is rendered with the user and organization context after a user successfully authenticates.
21
+
22
+ ## Example usage
23
+
24
+ <CodeBlock>
25
+ <CodeBlockTab
26
+ language="js"
27
+ file="jwt-template-example.trunk-ignore"
28
+ title="Template"
29
+ />
30
+ <CodeBlockTab
31
+ language="js"
32
+ file="jwt-template-context.trunk-ignore"
33
+ title="Context"
34
+ />
35
+ <CodeBlockTab
36
+ language="js"
37
+ file="jwt-template-output.trunk-ignore"
38
+ title="Output"
39
+ />
40
+ </CodeBlock>
41
+
42
+ ## Syntax
43
+
44
+ ### 1. **Basic Variable Interpolation**
45
+
46
+ You can reference variables inside the template.
47
+
48
+ <CodeBlock>
49
+ <CodeBlockTab
50
+ language="js"
51
+ file="jwt-template-1.trunk-ignore"
52
+ title="Template"
53
+ />
54
+ <CodeBlockTab
55
+ language="js"
56
+ file="jwt-template-context-1.trunk-ignore"
57
+ title="Context"
58
+ />
59
+ <CodeBlockTab
60
+ language="js"
61
+ file="jwt-template-output-1.trunk-ignore"
62
+ title="Output"
63
+ />
64
+ </CodeBlock>
65
+
66
+ ### 2. **Fallback Values** (`||` operator)
67
+
68
+ If the first value is `null` or undefined, the next value in the fallback chain is used.
69
+
70
+ <CodeBlock>
71
+ <CodeBlockTab
72
+ language="js"
73
+ file="jwt-template-2.trunk-ignore"
74
+ title="Template"
75
+ />
76
+ <CodeBlockTab
77
+ language="js"
78
+ file="jwt-template-context-2.trunk-ignore"
79
+ title="Context"
80
+ />
81
+ <CodeBlockTab
82
+ language="js"
83
+ file="jwt-template-output-2.trunk-ignore"
84
+ title="Output"
85
+ />
86
+ </CodeBlock>
87
+
88
+ ### 3. **String Literals**
89
+
90
+ Strings can be used as fallback values.
91
+
92
+ <CodeBlock>
93
+ <CodeBlockTab
94
+ language="js"
95
+ file="jwt-template-3.trunk-ignore"
96
+ title="Template"
97
+ />
98
+ <CodeBlockTab
99
+ language="js"
100
+ file="jwt-template-context-3.trunk-ignore"
101
+ title="Context"
102
+ />
103
+ <CodeBlockTab
104
+ language="js"
105
+ file="jwt-template-output-3.trunk-ignore"
106
+ title="Output"
107
+ />
108
+ </CodeBlock>
109
+
110
+ ### 4. **Concatenation in Strings**
111
+
112
+ Multiple variables can be used within a single string.
113
+
114
+ <CodeBlock>
115
+ <CodeBlockTab
116
+ language="js"
117
+ file="jwt-template-4.trunk-ignore"
118
+ title="Template"
119
+ />
120
+ <CodeBlockTab
121
+ language="js"
122
+ file="jwt-template-context-4.trunk-ignore"
123
+ title="Context"
124
+ />
125
+ <CodeBlockTab
126
+ language="js"
127
+ file="jwt-template-output-4.trunk-ignore"
128
+ title="Output"
129
+ />
130
+ </CodeBlock>
131
+
132
+ ### 5. **Object Interpolation**
133
+
134
+ Interpolating entire objects and arrays is allowed if they are valid JSON objects. This is not allowed inside string literals and will throw a validation error.
135
+
136
+ <CodeBlock>
137
+ <CodeBlockTab
138
+ language="js"
139
+ file="jwt-template-5.trunk-ignore"
140
+ title="Template"
141
+ />
142
+ <CodeBlockTab
143
+ language="js"
144
+ file="jwt-template-context-5.trunk-ignore"
145
+ title="Context"
146
+ />
147
+ <CodeBlockTab
148
+ language="js"
149
+ file="jwt-template-output-5.trunk-ignore"
150
+ title="Output"
151
+ />
152
+ </CodeBlock>
153
+
154
+ ### 6. **Reserved Keys Restriction**
155
+
156
+ The following keys cannot be used in templates:
157
+
158
+ - `iss`
159
+ - `sub`
160
+ - `exp`
161
+ - `iat`
162
+ - `nbf`
163
+ - `jti`
164
+
165
+ Any attempt to use these keys will result in a validation error.
166
+
167
+ ## Whitespace Handling
168
+
169
+ The rendering engine trims whitespace from the beginning and end of string values.
170
+
171
+ ## Error Handling
172
+
173
+ If the template contains invalid syntax, an error will be thrown:
174
+
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:
176
+ ```js
177
+ [ {{ user.email }} ]
178
+ ```
179
+ - **Keys reserved (`iss`, `sub`, `exp`, etc.):** These keys cannot be used in the template.
180
+ ```js
181
+ { "iss": {{ user.email }} }
182
+ ```
183
+ - **String encapsulated expression cannot contain object reference:** Objects cannot be interpolated inside a string.
184
+ ```js
185
+ { "user": "{{ user.metadata }}" }
186
+ ```
187
+ - **Invalid expression segment:** Logical operators (`||` with empty operands) or malformed expressions are not allowed.
188
+ ```js
189
+ {{ user.email && user user }}
190
+ {{ user.email || || user.email }}
191
+ ```
192
+ - **Template parse error: missing '}}':** A template block was opened but never closed.
193
+ ```js
194
+ {{ user.id
195
+ ```
196
+ - **Expression cannot be empty:** An empty expression inside `{{ }}` is invalid.
197
+ ```html
198
+ {{}}
199
+ ```
200
+ - **Missing closing braces:** `Template parse error: missing '}}'`
201
+ - **Invalid key usage:** `Keys reserved (iss, sub, exp, etc.)`
202
+ - **Unknown variables:** `Invalid path: "unknown.variable"`
203
+
204
+ ## Null Handling
205
+
206
+ JWT templates provide built-in handling for `null` values to ensure access tokens only contain populated claims.
207
+
208
+ ### **1. Removing Top-Level Null Values**
209
+
210
+ If an expression evaluates to `null`, the corresponding key is removed from the final JSON output.
211
+
212
+ #### **Example**
213
+
214
+ <CodeBlock>
215
+ <CodeBlockTab
216
+ language="js"
217
+ file="jwt-template-6.trunk-ignore"
218
+ title="Template"
219
+ />
220
+ <CodeBlockTab
221
+ language="js"
222
+ file="jwt-template-context-6.trunk-ignore"
223
+ title="Context"
224
+ />
225
+ <CodeBlockTab
226
+ language="js"
227
+ file="jwt-template-output-6.trunk-ignore"
228
+ title="Output"
229
+ />
230
+ </CodeBlock>
231
+
232
+ ### **2. Handling Null Values in Concatenated Strings**
233
+
234
+ If a `null` value appears in a string concatenation, it is replaced with an empty string (`""`) instead of being removed.
235
+
236
+ <CodeBlock>
237
+ <CodeBlockTab
238
+ language="js"
239
+ file="jwt-template-7.trunk-ignore"
240
+ title="Template"
241
+ />
242
+ <CodeBlockTab
243
+ language="js"
244
+ file="jwt-template-context-7.trunk-ignore"
245
+ title="Context"
246
+ />
247
+ <CodeBlockTab
248
+ language="js"
249
+ file="jwt-template-output-7.trunk-ignore"
250
+ title="Output"
251
+ />
252
+ </CodeBlock>
253
+
254
+ ### **3. Using Fallbacks to Avoid Null Values**
255
+
256
+ The `||` operator can be used to provide a fallback value when an expression evaluates to `null`.
257
+
258
+ <CodeBlock>
259
+ <CodeBlockTab
260
+ language="js"
261
+ file="jwt-template-8.trunk-ignore"
262
+ title="Template"
263
+ />
264
+ <CodeBlockTab
265
+ language="js"
266
+ file="jwt-template-context-8.trunk-ignore"
267
+ title="Context"
268
+ />
269
+ <CodeBlockTab
270
+ language="js"
271
+ file="jwt-template-output-8.trunk-ignore"
272
+ title="Output"
273
+ />
274
+ </CodeBlock>
275
+
276
+ ## Size limits
277
+
278
+ JWT templates must render to a JSON object that is 3072 bytes or smaller due to cookie size constraints in web browsers.
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: Magic Auth
3
+ description: Maximize user experience and security with passwordless authentication.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/user-management/magic-auth.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ Magic Auth is a passwordless authentication method that allows users to sign in or sign up via a unique, six digit one-time-use code sent to their email inbox.
11
+
12
+ ## Getting started
13
+
14
+ AuthKit will make the necessary API calls to issue one-time-use codes via email and provide input verification and authentication automatically. If desired, you can [send these emails yourself](/user-management/custom-emails).
15
+
16
+ > **Important:** Emails will not be sent from the **production** environment until you have configured a domain. See the [Custom Domains](/custom-domains/email) guide for more information on how to configure this.
17
+
18
+ ### Enabling Magic Auth
19
+
20
+ Magic Auth can be enabled in the _Authentication_ section of the [WorkOS dashboard](https://dashboard.workos.com). Users will then be able to sign in or sign up via Magic Auth on the AuthKit authentication page.
21
+
22
+ One-time-use codes expire after **10 minutes**.
23
+
24
+ ![Dashboard showing how to enable Magic Auth](https://images.workoscdn.com/images/78df279e-3bd5-451e-a0a0-7e93ed5e5bd5.png?auto=format&fit=clip&q=80)
25
+
26
+ ![AuthKit displaying email sign-in](https://images.workoscdn.com/images/9129ad29-d488-462b-ad85-3a2a7908235d.png?auto=format&fit=clip&q=80)
27
+
28
+ ![AuthKit displaying code input UI](https://images.workoscdn.com/images/1810724e-466f-4f76-b905-12167a051cdf.png?auto=format&fit=clip&q=80)
29
+
30
+ ---
31
+
32
+ ## Integrating via the API
33
+
34
+ If you’d prefer to build and manage your own authentication UI, you can do so via the User Management [Magic Auth API](/reference/user-management/magic-auth).
35
+
36
+ Examples of building custom UI are also [available on GitHub](https://github.com/workos/authkit).
@@ -0,0 +1,146 @@
1
+ ---
2
+ title: Model Context Protocol
3
+ description: How to use AuthKit as the authorization server for your MCP server.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/user-management/mcp.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) is a new protocol that standardizes how LLM-based clients can programmatically interact with applications. This includes querying data, in the form of resources, or taking direct actions in the application in the form of tools.
11
+
12
+ This guide is intended for application developers implementing an MCP _server_ that requires authentication. WorkOS and AuthKit can provide a secure way to manage access to your MCP server with minimal effort.
13
+
14
+ > Support for the MCP authorization spec is currently in feature preview. Reach out to [WorkOS support](mailto:support@workos.com?subject=MCP%20Authentication%20with%20AuthKit) if you want early access.
15
+
16
+ ## Authorization
17
+
18
+ The MCP specification builds on industry-standard protocols like [OAuth 2.0](https://datatracker.ietf.org/doc/html/rfc6749) in order to secure access to an MCP server. It makes the following distinctions between entities in the authorization flow:
19
+
20
+ - **Resource Server** – This is your MCP server, which you may choose to build using the [official Model Context Protocol SDKs](https://github.com/modelcontextprotocol).
21
+ - **Authorization Server** – This is AuthKit, which is a spec-compatible OAuth authorization server. While the spec allows the authorization and resource server to be the same, it can be architecturally simpler to delegate to an existing authorization server like AuthKit.
22
+
23
+ Support for MCP authorization is built on top of [WorkOS Connect](/user-management/connect), which provides all of the necessary OAuth API endpoints MCP clients will use to authenticate. You can view your AuthKit metadata by making a request to its `/.well-known/oauth-authorization-server` endpoint:
24
+
25
+ ```bash
26
+ curl https://authkit_domain/.well-known/oauth-authorization-server | jq
27
+ {
28
+ "authorization_endpoint": "https://authkit_domain/oauth2/authorize",
29
+ "code_challenge_methods_supported": ["S256"],
30
+ "grant_types_supported": ["authorization_code", "refresh_token"],
31
+ "introspection_endpoint": "https://authkit_domain/oauth2/introspection",
32
+ "issuer": "https://authkit_domain",
33
+ "registration_endpoint": "https://authkit_domain/oauth2/register",
34
+ "scopes_supported": ["email", "offline_access", "openid", "profile"],
35
+ "response_modes_supported": ["query"],
36
+ "response_types_supported": ["code"],
37
+ "token_endpoint": "https://authkit_domain/oauth2/token",
38
+ "token_endpoint_auth_methods_supported": [
39
+ "none",
40
+ "client_secret_post",
41
+ "client_secret_basic"
42
+ ]
43
+ }
44
+ ```
45
+
46
+ ## Integrating
47
+
48
+ AuthKit handles the authentication flow so your MCP server only needs to implement the following concerns:
49
+
50
+ 1. Verifying access tokens issued by AuthKit for your MCP server.
51
+ 1. Direct clients to AuthKit using standardized metadata endpoints.
52
+
53
+ ### Enabling Dynamic Client Registration
54
+
55
+ The MCP protocol requires authorization servers (AuthKit) to implement the [OAuth 2.0 Dynamic Client Registration](https://datatracker.ietf.org/doc/html/rfc7591). This allows MCP clients to discover and self-register without prior knowledge of the MCP server.
56
+
57
+ Dynamic Client Registration is off by default but can be enabled in the WorkOS Dashboard under _Applications_ → _Configuration_.
58
+
59
+ ![A screenshot of the Applications Configuration page in the WorkOS Dashboard.](https://images.workoscdn.com/images/10ae97ec-770c-46b6-b7b1-4a9464392590.png)
60
+
61
+ ### Token Verification
62
+
63
+ Your app needs to gate access to the MCP endpoints by verifying access tokens issued by AuthKit for your MCP server. This process is very similar to [the way any Connect JWT is verified](/user-management/connect/verifying-tokens), with one important addition:
64
+
65
+ ```js
66
+ import { jwtVerify, createRemoteJWKSet } from 'jose';
67
+
68
+ const JWKS = createRemoteJWKSet(new URL('https://authkit_domain/oauth2/jwks'));
69
+
70
+ const WWW_AUTHENTICATE_HEADER = [
71
+ 'Bearer error="unauthorized"',
72
+ 'error_description="Authorization needed"',
73
+ `resource_metadata="https://mcp.example.com/.well-known/oauth-protected-resource"`,
74
+ ].join(', ');
75
+
76
+ const bearerTokenMiddleware = async (req, res, next) => {
77
+ const token = req.headers.authorization?.match(/^Bearer (.+)$/)?.[1];
78
+ if (!token) {
79
+ return res
80
+ .set('WWW-Authenticate', WWW_AUTHENTICATE_HEADER)
81
+ .status(401)
82
+ .json({ error: 'No token provided.' });
83
+ }
84
+
85
+ try {
86
+ const { payload } = await jwtVerify(token, JWKS, {
87
+ issuer: 'https://authkit_domain',
88
+ });
89
+
90
+ // Use access token claims to populate request context.
91
+ // i.e. `req.userId = payload.sub;`
92
+
93
+ next();
94
+ } catch (err) {
95
+ return res
96
+ .set('WWW-Authenticate', WWW_AUTHENTICATE_HEADER)
97
+ .status(401)
98
+ .json({ error: 'Invalid bearer token.' });
99
+ }
100
+ };
101
+ ```
102
+
103
+ Note the addition of a [`WWW-Authenticate`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/WWW-Authenticate) header with the `resource_metadata` challenge parameter containing a `/.well-known/oauth-protected-resource` URL. This allows clients to dynamically discover the appropriate authorization server, enabling zero-config interoperability between different MCP clients and servers.
104
+
105
+ ### Metadata
106
+
107
+ Your MCP server should implement `/.well-known/oauth-protected-resource` endpoint mentioned in the previous section, returning the following minimal JSON response:
108
+
109
+ ```js
110
+ app.get('/.well-known/oauth-protected-resource', (req, res) =>
111
+ res.json({
112
+ resource: `https://mcp.example.com`,
113
+ authorization_servers: ['https://authkit_domain'],
114
+ bearer_methods_supported: ['header'],
115
+ }),
116
+ );
117
+ ```
118
+
119
+ MCP clients that support metadata discovery will automatically fetch this metadata when they initially encounter a `401 Unauthorized` error from the middleware implemented above. Since AuthKit is included in the metadata under `authorization_servers` the MCP client will redirect the user to AuthKit in order for them to sign in.
120
+
121
+ ![The authorization prompt users will be shown when giving access to an MCP client.](https://images.workoscdn.com/images/ce1d133c-503c-4abc-8422-c274bbd8786c.png)
122
+
123
+ Behind the scenes, AuthKit implements the necessary authorization, dynamic client registration, and token endpoints so that your application doesn't need to. You can read more in the [latest version of the MCP authorization spec](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/901ac03e1c72827acb8017f80eeb14e38ad8ba42/docs/specification/draft/basic/authorization.mdx) but most apps can consider them implementation details of AuthKit as the authorization server.
124
+
125
+ Upon successful authentication the client will receive credentials and can start making requests to your application's MCP endpoints.
126
+
127
+ ## Compatibility
128
+
129
+ The MCP space is rapidly evolving and not every client may support the latest version of the specification.
130
+
131
+ In particular, some clients may not support [OAuth 2.0 Protected Resource Metadata](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-resource-metadata-13) and its `/.well-known/oauth-protected-resource` endpoint, instead attempting to fetch [OAuth 2.0 Authorization Server Metadata](https://datatracker.ietf.org/doc/html/rfc8414) directly from your application's MCP server.
132
+
133
+ For these clients, your server can implement a metadata endpoint as a proxy with AuthKit as the upstream source of truth:
134
+
135
+ ```js
136
+ app.get('/.well-known/oauth-authorization-server', async (req, res) => {
137
+ const response = await fetch(
138
+ 'https://authkit_domain/.well-known/oauth-authorization-server',
139
+ );
140
+ const metadata = await response.json();
141
+
142
+ res.json(metadata);
143
+ });
144
+ ```
145
+
146
+ Clients will use AuthKit as the authorization server and the rest of the flow will be identical.
@@ -0,0 +1,119 @@
1
+ ---
2
+ title: Metadata and External IDs
3
+ description: Store additional information about users and organizations.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/user-management/metadata.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ Metadata is an attribute of organizations and users that allows you to store additional information about these objects, structured as key-value pairs. For example, you can use metadata to store information about a user's profile picture, or the organization's address.
11
+
12
+ External identifiers allow you to associate organizations and users with an identifier in your own system.
13
+
14
+ ---
15
+
16
+ ## External identifiers
17
+
18
+ External identifiers are an attribute of organizations and users that allows you to associate these objects with an identifier in your own system. Once you have set an external identifier for an object, you can query on it via dedicated endpoints in the WorkOS API.
19
+
20
+ External identifiers must be unique within your environment and are limited to 64 characters.
21
+
22
+ ## Metadata
23
+
24
+ You can add up to 10 key-value pairs to an organization or user within these data limits:
25
+
26
+ - **Key**: Up to 40 characters long. ASCII only.
27
+ - **Value**: Up to 500 characters long. ASCII only.
28
+
29
+ If your integration requires more than 10 key-value pairs, consider storing the additional data in your own external database and use an external identifier to associate the data with an organization or user.
30
+
31
+ > Never store sensitive information in metadata such as passwords, API keys, or other private information.
32
+
33
+ Metadata is returned in the response body for backend API operations that return organization or user objects, but not in the response body of the [User Authentication](/reference/user-management/authentication) operations. If you want to publicly expose metadata properties from users or organizations in your access tokens, you can use JWT templates to customize claims in your application's access tokens.
34
+
35
+ ## Set an external identifier
36
+
37
+ To set an external identifier for an organization or user, include the `external_id` property in the request body of the [Create an organization](/reference/organization/create) or [Create a user](/reference/user-management/user/create) endpoints.
38
+
39
+ <CodeBlock referenceId="set_external_id">
40
+ <CodeBlockTab title="Request" file="set-external-id" />
41
+ <CodeBlockTab title="Response" file="set-external-id-response" />
42
+ </CodeBlock>
43
+
44
+ To update an external identifier, include the `external_id` property in the request body of the [Update an organization](/reference/organization/update) or [Update a user](/reference/user-management/user/update) endpoints.
45
+
46
+ ## Query by external identifier
47
+
48
+ To query an organization or user by their external identifier, use the [Get organization by external identifier](/reference/organization/get-by-external-id) or [Get user by external identifier](/reference/user-management/user/get-by-external-id) endpoints.
49
+
50
+ ## Add and update metadata
51
+
52
+ Updates to metadata are partial. This means that you only need to include the metadata attributes that you want to update.
53
+
54
+ Metadata can be included in the request body of the following endpoints:
55
+
56
+ - [Create an organization](/reference/organization/create)
57
+ - [Update an organization](/reference/organization/update)
58
+ - [Create a user](/reference/user-management/user/create)
59
+ - [Update a user](/reference/user-management/user/update)
60
+
61
+ To add a metadata attribute to an entity, include the key and value pair in the `metadata` object of the request body.
62
+
63
+ ```json
64
+ {
65
+ "metadata": {
66
+ "key": "value"
67
+ }
68
+ }
69
+ ```
70
+
71
+ To update a metadata attribute, include the key and value pair in the `metadata` object of the request body.
72
+
73
+ ```json
74
+ {
75
+ "metadata": {
76
+ "key": "new_value"
77
+ }
78
+ }
79
+ ```
80
+
81
+ To delete a metadata attribute, set the key to `null` in the `metadata` object of the request body.
82
+
83
+ ```json
84
+ {
85
+ "metadata": {
86
+ "key": null
87
+ }
88
+ }
89
+ ```
90
+
91
+ To delete all metadata attributes, set the `metadata` property an empty object.
92
+
93
+ ```json
94
+ {
95
+ "metadata": {}
96
+ }
97
+ ```
98
+
99
+ ## Exposing metadata in JWTs
100
+
101
+ Custom metadata and external identifiers can be exposed as claims in JWTs using [JWT Templates](/user-management/jwt-templates).
102
+
103
+ <CodeBlock>
104
+ <CodeBlockTab
105
+ language="js"
106
+ file="metadata-jwt-template-1.trunk-ignore"
107
+ title="Template"
108
+ />
109
+ <CodeBlockTab
110
+ language="js"
111
+ file="metadata-jwt-context-1.trunk-ignore"
112
+ title="Context"
113
+ />
114
+ <CodeBlockTab
115
+ language="js"
116
+ file="metadata-jwt-output-1.trunk-ignore"
117
+ title="Output"
118
+ />
119
+ </CodeBlock>
@@ -0,0 +1,32 @@
1
+ ---
2
+ title: Multi-Factor Authentication
3
+ description: Add an additional layer of security to your application.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/user-management/mfa.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ Multi-Factor Authentication (MFA) is an additional method of securing your application. MFA adds a layer of security during sign in that requires a user to provide an additional time-based one-time password (TOTP).
11
+
12
+ ## Getting started
13
+
14
+ AuthKit will make the necessary API calls to handle first-time configuration of users’ MFA factors automatically, and validate one-time codes as part of the authentication flow.
15
+
16
+ ### Enabling MFA
17
+
18
+ MFA can be enabled in the _Authentication_ section of the [WorkOS Dashboard](https://dashboard.workos.com). New and existing users will be required to set up multi-factor authentication with an authenticator app that supports one-time passcodes before they can sign in.
19
+
20
+ > The MFA requirement **does not** apply to SSO users.
21
+
22
+ ![Dashboard showing how to enable MFA](https://images.workoscdn.com/images/f660826c-cb2d-4912-ba10-1f622d6a447d.png?auto=format&fit=clip&q=80)
23
+
24
+ ![AuthKit displaying MFA configuration](https://images.workoscdn.com/images/31fcbe12-63c2-47e2-9685-d45fe4d41fb5.png?auto=format&fit=clip&q=80)
25
+
26
+ ---
27
+
28
+ ## Integrating via the API
29
+
30
+ If you’d prefer to build and manage your own authentication UI, you can do so via the User Management [Multi-Factor API](/reference/user-management/mfa).
31
+
32
+ Examples of building custom UI are also [available on GitHub](https://github.com/workos/authkit).
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: Migrating to User Management
3
+ description: Guidance on moving your existing users to WorkOS.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/user-management/migrations.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ WorkOS provides a [range of guides](/migrate) to help you migrate your existing integration to WorkOS User Management.
11
+
12
+ ## Migrate from another service
13
+
14
+ These guides will walk you through the process of moving your users and organizations to WorkOS from another service.
15
+
16
+ <ProviderCards.UserManagementMigration />
17
+
18
+ ## Migrating an existing WorkOS integration
19
+
20
+ If you already have an integration with WorkOS (for example, using the [standalone API](/sso) to provide SSO to your customers), you can migrate to User Management and take advantage of all of the features it provides by following [this guide](/migrate/standalone-sso).