@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,83 @@
1
+ ---
2
+ title: Xero OAuth
3
+ description: Learn how to set up OAuth with Xero.
4
+ icon: xero
5
+ breadcrumb:
6
+ title: Integrations
7
+ url: /integrations
8
+ originalPath: .tmp-workos-clone/packages/docs/content/integrations/xero-oauth.mdx
9
+ ---
10
+
11
+ ## Introduction
12
+
13
+ To configure your global Xero OAuth setup, you’ll need three pieces of information: a [Redirect URI](/glossary/redirect-uri), a Xero Client ID, and a Xero Client Secret.
14
+
15
+ ---
16
+
17
+ ## What WorkOS provides
18
+
19
+ WorkOS provides the Redirect URI, an allowlisted callback URL. It indicates the location to return an authorized user to after both an authorization code is granted, and the authentication process is complete.
20
+
21
+ Open your [WorkOS Dashboard](https://dashboard.workos.com) and browse to the _Authentication_ section on the left hand navigation bar. Scroll down to the _Xero OAuth_ section and click _Configure_.
22
+
23
+ In the modal, you’ll see the Redirect URI as well as the fields you’ll populate later with information from Xero. This URI will be used as part of the registration process later in the Xero developer settings page.
24
+
25
+ ---
26
+
27
+ ## What you’ll need
28
+
29
+ In order to integrate you’ll need the Xero Client ID and the Xero Client Secret.
30
+
31
+ These are a pair of credentials provided by Xero that you’ll use to authenticate your application via the OAuth protocol. To obtain them:
32
+
33
+ ---
34
+
35
+ ### (1) Create the Xero OAuth Application
36
+
37
+ Log in to your [Xero developer account](https://developer.xero.com) and create a new application.
38
+
39
+ ![A screenshot showing the Xero developer homepage.](https://images.workoscdn.com/images/58e9b3af-7442-45e7-8be2-cb1fa9ab39a2.png?auto=format&fit=clip&q=80)
40
+
41
+ In the top right corner, select _New app_.
42
+
43
+ Fill out the form starting with the application name.
44
+
45
+ ![A screenshot showing the Xero form to create a new OAuth application.](https://images.workoscdn.com/images/f78a99b4-f004-4437-9612-6d97ef49bf3d.png?auto=format&fit=clip&q=50)
46
+
47
+ For the _Integration type_, select _Web app_.
48
+
49
+ For _Company or application URI_, use your application's homepage URI.
50
+
51
+ For _Redirect URI_, use the Redirect URI from the Xero OAuth configuration modal in the WorkOS Dashboard.
52
+
53
+ ![A screenshot showing OAuth client credentials in the Xero application settings](https://images.workoscdn.com/images/9a0c3175-3af3-4613-a9f9-c9e6851507fe.png?auto=format&fit=clip&q=50)
54
+
55
+ Agree to Xero's Developer Platform Terms & Conditions and click on _Create app_.
56
+
57
+ ### (2) Generate client credentials
58
+
59
+ On the next page, you will see the Xero _App details_ for your new OAuth application.
60
+
61
+ From the left sidebar, navigate to the _Configuration_ page.
62
+
63
+ ![A screenshot showing OAuth client credentials in the Xero application settings before creating a client secret](https://images.workoscdn.com/images/5ec780c3-c325-4455-992e-20727c39f8f9.png?auto=format&fit=clip&q=50)
64
+
65
+ Select _Generate a secret_ to create a client secret.
66
+
67
+ ![A screenshot showing OAuth client credentials in the Xero application settings after creating a client secret](https://images.workoscdn.com/images/58158b26-0854-496f-9ccc-660955735463.png?auto=format&fit=clip&q=50)
68
+
69
+ Copy the _Client ID_ and _Client secret 1_.
70
+
71
+ In the next step, you will provide both the Xero Client ID and Client Secret to the WorkOS dashboard.
72
+
73
+ ### (3) Provide client credentials to WorkOS
74
+
75
+ Go back to the _Authentication_ section in the WorkOS Dashboard, and click on _Edit_ under _Xero OAuth_.
76
+
77
+ ![A screenshot showing OAuth client credentials in the WorkOS Xero setup modal filled with client id and client secret.](https://images.workoscdn.com/images/64add3ff-91ac-4d1c-a5cc-3383762fb877.png?auto=format&fit=clip&q=50)
78
+
79
+ Toggle _Enabled_ on and provide the client credentials from Xero that you generated in the previous step.
80
+
81
+ Finally, click _Save_.
82
+
83
+ You are now ready to start authenticating with Xero OAuth. Your users will see the option to sign-in with Xero when visiting your [AuthKit](/user-management) domain.
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: Magic Link
3
+ links:
4
+ - title: Getting Started
5
+ links:
6
+ - title: Quick Start
7
+ url: /magic-link
8
+ - title: Example Apps
9
+ url: /magic-link/example-apps
10
+ - title: Going Live
11
+ links:
12
+ - title: Launch Checklist
13
+ url: /magic-link/launch-checklist
14
+ originalPath: .tmp-workos-clone/packages/docs/content/magic-link/_navigation.mdx
15
+ ---
16
+
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: Example Apps
3
+ description: "View sample Magic\_Link\_apps for\_each\_SDK."
4
+ originalPath: .tmp-workos-clone/packages/docs/content/magic-link/example-apps.mdx
5
+ ---
6
+
7
+ You can view minimal example apps that demonstrate how to use the WorkOS SDKs to authenticate users via Magic Link:
8
+
9
+ <ExampleApps.Root>
10
+ <ExampleApps.Card
11
+ href="https://github.com/workos/node-example-applications/tree/main/node-magic-link-example"
12
+ title="Node.js Magic Link app"
13
+ />
14
+ <ExampleApps.Card
15
+ href="https://github.com/workos/typescript-example-applications/tree/main/typescript-magic-link-example"
16
+ title="TypeScript Magic Link app"
17
+ />
18
+ <ExampleApps.Card
19
+ href="https://github.com/workos/ruby-example-applications/tree/main/ruby-magic-link-example"
20
+ title="Ruby Magic Link app"
21
+ />
22
+ <ExampleApps.Card
23
+ href="https://github.com/workos/python-flask-example-applications/tree/main/python-flask-magic-link-example"
24
+ title="Python Flask Magic Link app"
25
+ />
26
+ <ExampleApps.Card
27
+ href="https://github.com/workos/python-django-example-applications/tree/main/python-django-magic-link-example"
28
+ title="Python Django Magic Link app"
29
+ />
30
+ <ExampleApps.Card
31
+ href="https://github.com/workos/go-example-applications/tree/main/go-magic-link-example"
32
+ title="Go Magic Link app"
33
+ />
34
+ <ExampleApps.Card
35
+ href="https://github.com/workos/java-example-applications/tree/main/java-magic-link-example"
36
+ title="Java Magic Link app"
37
+ />
38
+ <ExampleApps.Card
39
+ href="https://github.com/workos/php-example-applications/tree/main/php-magic-link-example"
40
+ title="PHP Magic Link app"
41
+ />
42
+ <ExampleApps.Card
43
+ href="https://github.com/workos/dotnet-example-applications/tree/main/dotnet-magic-link-example"
44
+ title=".NET Magic Link app"
45
+ />
46
+ </ExampleApps.Root>
@@ -0,0 +1,199 @@
1
+ ---
2
+ title: Magic Link
3
+ description: >-
4
+ The fastest way to securely enable authentication – passwordless sign-in via
5
+ email in a couple lines of code.
6
+ showNextPage: true
7
+ originalPath: .tmp-workos-clone/packages/docs/content/magic-link/index.mdx
8
+ ---
9
+
10
+ ## Introduction
11
+
12
+ Managing password authentication entails significant overhead for engineering teams and opens up many risks for breaches. Magic Link from WorkOS gives you the ability to build a secure passwordless authentication flow utilizing email. Send users a one-time-use link and let them sign in with a single click.
13
+
14
+ > Magic Link sets you up to handle Single Sign-On via the [WorkOS SSO API](/sso). The redirect URI / profile retrieval process is identical between Magic Link and SSO.
15
+
16
+ ![Diagram showing Magic Link flow which emphasizes that WorkOS does not manage the session.](https://images.workoscdn.com/docs/guides/magic-link/v1/magic-link-diagram.png?auto=format&fit=clip&q=50)[border=false]
17
+
18
+ Magic Link is not a session management solution – instead it is an authentication solution. You as the developer have the ability to manage user sessions as you see fit. This means you determine how long a session is valid for, as well as how to store and invalidate a session.
19
+
20
+ Magic Links are single use, meaning that they will immediately expire after they are first clicked. If end users have security checks included with their email provider that test all embedded URLs, it can cause the Magic Links to expire before they reach the user’s inbox. To work around this, we recommend that end users add these Magic Link emails to an allowlist in order to bypass these security checks.
21
+
22
+ ## What you’ll build
23
+
24
+ In this guide, we’ll take you from learning about passwordless authentication all the way through to building production-ready passwordless authentication flows with the WorkOS Magic Link API.
25
+
26
+ This guide will show you how to:
27
+
28
+ 1. Add Magic Link to your app
29
+ 2. Configure a redirect URI
30
+ 3. Create a new Magic Link Connection
31
+
32
+ ## Before getting started
33
+
34
+ To get the most out of this guide, you’ll need:
35
+
36
+ - A [WorkOS account](https://dashboard.workos.com/)
37
+
38
+ ## API object definitions
39
+
40
+ [Passwordless Session](/reference/magic-link/passwordless-session)
41
+ : Represents a passwordless authentication session.
42
+
43
+ [Profile](/reference/sso/profile)
44
+ : Represents an authenticated user. The Profile object contains information relevant to a user in the form of normalized and raw attributes.
45
+
46
+ ## (1) Add Magic Link to your app
47
+
48
+ ### Install the WorkOS SDK
49
+
50
+ WorkOS offers native SDKs in several popular programming languages. Choose a language below to see instructions in your application’s language.
51
+
52
+ <LanguageSelector>
53
+ Install the SDK using the command below.
54
+
55
+ <CodeBlock title="Install the WorkOS SDK" file="install-sdk">
56
+ <CodeBlockTab language="js" file="install-sdk-npm" title="npm" />
57
+ <CodeBlockTab language="js" file="install-sdk-yarn" title="Yarn" />
58
+ <CodeBlockTab language="java" file="install-sdk-maven" title="Maven" />
59
+ <CodeBlockTab language="java" file="install-sdk-gradle" title="Gradle" />
60
+ <CodeBlockTab language="ruby" file="install-sdk-terminal" title="Terminal" />
61
+ <CodeBlockTab language="ruby" file="install-sdk-bundler" title="Bundler" />
62
+ </CodeBlock>
63
+ </LanguageSelector>
64
+
65
+ ### Set secrets
66
+
67
+ To make calls to WorkOS, provide the API key and, in some cases, the client ID. Store these values as managed secrets, such as `WORKOS_API_KEY` and `WORKOS_CLIENT_ID`, and pass them to the SDKs either as environment variables or directly in your app's configuration based on your preferences.
68
+
69
+ ```plain title="Environment variables"
70
+ WORKOS_API_KEY='sk_example_123456789'
71
+ WORKOS_CLIENT_ID='client_123456789'
72
+ ```
73
+
74
+ ### Add a callback endpoint
75
+
76
+ Let’s first add the redirect endpoint which will handle the callback from WorkOS after a user has authenticated via a magic link. This endpoint should exchange the authorization code (valid for 10 minutes) returned by WorkOS with the authenticated user’s Profile.
77
+
78
+ <CodeBlock file="callback-endpoint" title="Callback Endpoint">
79
+ <CodeBlockTab language="js" file="callback-endpoint-next" title="Next.js" />
80
+ <CodeBlockTab
81
+ language="js"
82
+ file="callback-endpoint-express"
83
+ title="Express"
84
+ />
85
+ <CodeBlockTab language="ruby" file="callback-endpoint-rails" title="Rails" />
86
+ <CodeBlockTab
87
+ language="ruby"
88
+ file="callback-endpoint-sinatra"
89
+ title="Sinatra"
90
+ />
91
+ <CodeBlockTab
92
+ language="python"
93
+ file="callback-endpoint-django"
94
+ title="Django"
95
+ />
96
+ <CodeBlockTab
97
+ language="python"
98
+ file="callback-endpoint-flask"
99
+ title="Flask"
100
+ />
101
+ </CodeBlock>
102
+
103
+ ### Create a Passwordless Session and email the user
104
+
105
+ Create a Passwordless Session to generate an authentication link for a user. An authentication link is valid for 15 minutes and can be sent via the WorkOS API or using your own email service.
106
+
107
+ You can use the optional `state` parameter to encode arbitrary information to help restore application state between redirects.
108
+
109
+ You can use the optional `redirect_uri` parameter to override the default [Redirect URI](/glossary/redirect-uri) set in the dashboard.
110
+
111
+ > A Magic Link Connection will be automatically created if there isn’t already one for the domain specified when creating a new Passwordless Session.
112
+
113
+ - | WorkOS email
114
+
115
+ Use the WorkOS API to send the authentication link to the user. The email sent will be WorkOS branded.
116
+
117
+ <CodeBlock
118
+ title="Create a Passwordless Session"
119
+ file="create-passwordless-session-with-workos"
120
+ >
121
+ <CodeBlockTab
122
+ language="js"
123
+ file="create-passwordless-session-with-workos-next"
124
+ title="Next.js"
125
+ />
126
+ <CodeBlockTab
127
+ language="js"
128
+ file="create-passwordless-session-with-workos-express"
129
+ title="Express"
130
+ />
131
+ <CodeBlockTab
132
+ language="ruby"
133
+ file="create-passwordless-session-with-workos-rails"
134
+ title="Rails"
135
+ />
136
+ <CodeBlockTab
137
+ language="ruby"
138
+ file="create-passwordless-session-with-workos-sinatra"
139
+ title="Sinatra"
140
+ />
141
+ <CodeBlockTab
142
+ language="python"
143
+ file="create-passwordless-session-with-workos-django"
144
+ title="Django"
145
+ />
146
+ <CodeBlockTab
147
+ language="python"
148
+ file="create-passwordless-session-with-workos-flask"
149
+ title="Flask"
150
+ />
151
+ </CodeBlock>
152
+
153
+ - | Custom email
154
+
155
+ Use your own email service and custom branded email template to send the authentication link to the user.
156
+
157
+ <CodeBlock
158
+ title="Create a Passwordless Session"
159
+ file="create-passwordless-session-custom"
160
+ >
161
+ <CodeBlockTab
162
+ language="js"
163
+ file="create-passwordless-session-custom-next"
164
+ title="Next.js"
165
+ />
166
+ <CodeBlockTab
167
+ language="js"
168
+ file="create-passwordless-session-custom-express"
169
+ title="Express"
170
+ />
171
+ <CodeBlockTab
172
+ language="ruby"
173
+ file="create-passwordless-session-custom-rails"
174
+ title="Rails"
175
+ />
176
+ <CodeBlockTab
177
+ language="ruby"
178
+ file="create-passwordless-session-custom-sinatra"
179
+ title="Sinatra"
180
+ />
181
+ <CodeBlockTab
182
+ language="python"
183
+ file="create-passwordless-session-custom-django"
184
+ title="Django"
185
+ />
186
+ <CodeBlockTab
187
+ language="python"
188
+ file="create-passwordless-session-custom-flask"
189
+ title="Flask"
190
+ />
191
+ </CodeBlock>
192
+
193
+ ---
194
+
195
+ ## (2) Configure a redirect URI
196
+
197
+ You should set a redirect URI (i.e. the callback endpoint from [Add a callback endpoint](/magic-link/1-add-magic-link-to-your-app/add-a-callback-endpoint)) via the Configuration page in the WorkOS Dashboard – be sure not to include wildcard subdomains or query parameters.
198
+
199
+ ![A screenshot showing where to add a callback in the WorkOS Dashboard.](https://images.workoscdn.com/images/43ffd916-890b-4f1f-8767-0b70113288d9.png?auto=format&fit=clip&q=50)
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: Launch Checklist
3
+ description: Make sure you’re ready to take your app to production.
4
+ originalPath: .tmp-workos-clone/packages/docs/content/magic-link/launch-checklist.mdx
5
+ ---
6
+
7
+ ## Create an IP Allowlist
8
+
9
+ WorkOS makes use of Cloudflare to ensure security and reliability of all operations. If you are looking to create a list of allowed IP addresses for redirect requests, you can use the IP Ranges listed in the [Cloudflare documentation](https://www.cloudflare.com/ips/).
10
+
11
+ ## Go-live checklist
12
+
13
+ - [ ] Unlock your Production environment by adding your billing information
14
+
15
+ > Only enterprise connections in your Production environment will be charged. Any Google OAuth or Magic Link connections in Production will be free.
16
+
17
+ - [ ] Configure a production redirect URI in your Production project
18
+ - [ ] Secure your Production project’s API key
19
+ - [ ] Ensure that your application can receive redirects from WorkOS
20
+
21
+ Depending on your network architecture, you may need to allowlist incoming redirect traffic from `api.workos.com`.
22
+
23
+ ## Frequently asked questions
24
+
25
+ ### Can I customize the email sent via Magic Link?
26
+
27
+ Yes, you can use your own email service and custom branded email template to send the authentication link to the user. See the custom email code snippet in the [create passwordless session section](/magic-link/1-add-magic-link-to-your-app/create-a-passwordless-session-and-email-the-user) for an example.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: Multi-Factor Auth
3
+ links:
4
+ - title: Getting Started
5
+ links:
6
+ - title: Quick Start
7
+ url: /mfa
8
+ - title: Example Apps
9
+ url: /mfa/example-apps
10
+ - title: User Experience
11
+ links:
12
+ - title: Enrollment
13
+ url: /mfa/ux/enrollment
14
+ - title: Sign-In
15
+ url: /mfa/ux/sign-in
16
+ originalPath: .tmp-workos-clone/packages/docs/content/mfa/_navigation.mdx
17
+ ---
18
+
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: Example Apps
3
+ description: "View sample Multi-Factor\_Auth apps for\_each\_SDK."
4
+ originalPath: .tmp-workos-clone/packages/docs/content/mfa/example-apps.mdx
5
+ ---
6
+
7
+ You can view minimal example apps that demonstrate how to use the WorkOS SDKs to authenticate users via MFA:
8
+
9
+ <ExampleApps.Root>
10
+ <ExampleApps.Card
11
+ href="https://github.com/workos/node-example-applications/tree/main/node-mfa-example"
12
+ title="Node.js MFA app"
13
+ />
14
+ <ExampleApps.Card
15
+ href="https://github.com/workos/typescript-example-applications/tree/main/typescript-mfa-example"
16
+ title="TypeScript MFA app"
17
+ />
18
+ <ExampleApps.Card
19
+ href="https://github.com/workos/ruby-example-applications/tree/main/ruby-mfa-example"
20
+ title="Ruby MFA app"
21
+ />
22
+ <ExampleApps.Card
23
+ href="https://github.com/workos/python-flask-example-applications/tree/main/python-flask-mfa-example"
24
+ title="Python Flask MFA app"
25
+ />
26
+ <ExampleApps.Card
27
+ href="https://github.com/workos/python-django-example-applications/tree/main/python-django-mfa-example"
28
+ title="Python Django MFA app"
29
+ />
30
+ <ExampleApps.Card
31
+ href="https://github.com/workos/go-example-applications/tree/main/go-mfa-example"
32
+ title="Go MFA app"
33
+ />
34
+ <ExampleApps.Card
35
+ href="https://github.com/workos/java-example-applications/tree/main/java-mfa-example"
36
+ title="Java MFA app"
37
+ />
38
+ <ExampleApps.Card
39
+ href="https://github.com/workos/php-example-applications/tree/main/php-mfa-example"
40
+ title="PHP MFA app"
41
+ />
42
+ <ExampleApps.Card
43
+ href="https://github.com/workos/dotnet-example-applications/tree/main/dotnet-mfa-example"
44
+ title=".NET MFA app"
45
+ />
46
+ </ExampleApps.Root>
@@ -0,0 +1,140 @@
1
+ ---
2
+ title: Multi-Factor Authentication
3
+ description: A composable API for implementing multi-factor authentication.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/mfa/index.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ The Multi-Factor Authentication (MFA) API is intended to be a composable, unopinionated set of endpoints that can be integrated into existing application/session management strategies.
11
+
12
+ The available types of authentication factors are:
13
+
14
+ - `totp` – Time-based one-time password
15
+ - `sms` – One-time password via SMS message
16
+
17
+ > The MFA API is not intended to be used with the WorkOS SSO feature. It’s recommended to leverage the MFA features of the Identity Provider that is powering your SSO implementation.
18
+
19
+ ## What you’ll build
20
+
21
+ In this guide, we’ll walk you through the process of enrolling new authentication factors for a user, and the challenge/verification process for existing authentication factors.
22
+
23
+ This guide will show you how to:
24
+
25
+ 1. Create an Authentication Factor
26
+ 2. Challenge the Authentication Factor
27
+ 3. Verify the Challenge
28
+
29
+ ## Before getting started
30
+
31
+ To get the most out of this guide, you’ll need:
32
+
33
+ - A [WorkOS account](https://dashboard.workos.com/)
34
+
35
+ ## API object definitions
36
+
37
+ [Authentication Factor](/reference/mfa/authentication-factor)
38
+ : A factor of authentication that can be used in conjunction with a primary factor to provide multiple factors of authentication.
39
+
40
+ [Authentication Challenge](/reference/mfa/authentication-challenge)
41
+ : A request for an Authentication Factor to be verified.
42
+
43
+ ## (1) Create an Authentication Factor
44
+
45
+ We’ll first need to enroll a new Authentication Factor.
46
+
47
+ ### Install the WorkOS SDK
48
+
49
+ WorkOS offers native SDKs in several popular programming languages. Choose a language below to see instructions in your application’s language.
50
+
51
+ <LanguageSelector>
52
+ Install the SDK using the command below.
53
+
54
+ <CodeBlock title="Install the WorkOS SDK" file="install-sdk">
55
+ <CodeBlockTab language="js" file="install-sdk-npm" title="npm" />
56
+ <CodeBlockTab language="js" file="install-sdk-yarn" title="Yarn" />
57
+ <CodeBlockTab language="java" file="install-sdk-maven" title="Maven" />
58
+ <CodeBlockTab language="java" file="install-sdk-gradle" title="Gradle" />
59
+ <CodeBlockTab language="ruby" file="install-sdk-terminal" title="Terminal" />
60
+ <CodeBlockTab language="ruby" file="install-sdk-bundler" title="Bundler" />
61
+ </CodeBlock>
62
+ </LanguageSelector>
63
+
64
+ ### Set secrets
65
+
66
+ To make calls to WorkOS, provide the API key and, in some cases, the client ID. Store these values as managed secrets, such as `WORKOS_API_KEY` and `WORKOS_CLIENT_ID`, and pass them to the SDKs either as environment variables or directly in your app's configuration based on your preferences.
67
+
68
+ ```plain title="Environment variables"
69
+ WORKOS_API_KEY='sk_example_123456789'
70
+ WORKOS_CLIENT_ID='client_123456789'
71
+ ```
72
+
73
+ ### Enroll the Authentication Factor
74
+
75
+ - | Using TOTP
76
+
77
+ Use the TOTP type when the user is using a third-party authenticator app such as Google Authenticator or Authy.
78
+
79
+ <CodeBlock title="Enroll Endpoint" file="enroll-totp" />
80
+
81
+ The response returns a `qr_code` and a secret. The `qr_code` value is a base64 encoded data URI that is used to [display the QR code](https://css-tricks.com/data-uris/) in your application for enrollment with an authenticator application.
82
+
83
+ The `secret` can be entered into some authenticator applications in place of scanning a QR code.
84
+
85
+ - | Using SMS
86
+
87
+ Use the SMS type when the user wants to receive one time passwords as SMS messages to their mobile device.
88
+
89
+ Phone number must be valid. An error will be returned for malformed or invalid phone numbers.
90
+
91
+ <CodeBlock title="Enroll Endpoint" file="enroll-sms" />
92
+
93
+ Now that we’ve successfully created an authentication factor, we’ll need to save the ID for later use. It’s recommended that you persist the factor ID in your own user model according to your application’s needs.
94
+
95
+ ## (2) Challenge the Authentication Factor
96
+
97
+ Next we’ll initiate the authentication process for the newly created factor which we’ll refer to as a challenge.
98
+
99
+ - | Create Authentication Challenge
100
+
101
+ <CodeBlock title="Challenge Endpoint" file="create-challenge" />
102
+
103
+ - | Sending Custom SMS Message
104
+
105
+ When challenging an SMS authentication factor, you can pass an optional SMS template to customize the SMS message that is sent to the end user. Use the `{{code}}` token to inject the one time password into the message.
106
+
107
+ <CodeBlock title="Challenge Endpoint" file="create-sms-challenge" />
108
+
109
+ Now that we’ve successfully challenged the authentication factor, we’ll need to save the challenge ID for the last step, challenge verification.
110
+
111
+ ## (3) Verify the Challenge
112
+
113
+ The last step in the authentication process is to verify the one time password provided by the end-user.
114
+
115
+ <CodeBlock title="Verify Endpoint" file="verify-challenge" />
116
+
117
+ ### Verification Response
118
+
119
+ If the challenge is successfully verified `valid` will return `true`. Otherwise it will return `false` and another verification attempt must be made.
120
+
121
+ <CodeBlock title="Response" file="authentication-challenge-response" />
122
+
123
+ ### Already Verified Error
124
+
125
+ If a challenge was already successfully verified, it cannot be used a second time. If further verification is needed in your application, create a new challenge.
126
+
127
+ <CodeBlock
128
+ title="Response"
129
+ file="authentication-challenge-previously-verified"
130
+ />
131
+
132
+ ### Expired Error
133
+
134
+ For SMS authentication factors, challenges are only available for verification for 10 minutes. After that they are expired and cannot be verified.
135
+
136
+ <CodeBlock title="Response" file="authentication-challenge-expired" />
137
+
138
+ We’ve now successfully verified an end-user’s authentication factor. This authentication factor can now be used as a second factor of authentication in your application’s existing authentication strategy.
139
+
140
+ The ID of the authentication factor should be persisted in your application for future authentication challenges.
@@ -0,0 +1,74 @@
1
+ ---
2
+ title: Enrollment UX
3
+ description: User experience considerations for MFA enrollment.
4
+ showNextPage: true
5
+ originalPath: .tmp-workos-clone/packages/docs/content/mfa/ux/enrollment.mdx
6
+ ---
7
+
8
+ ## Introduction
9
+
10
+ Now that we've seen how the MFA APIs work, you may want to consider how you want to present the MFA enrollment experience to your users. This guide will cover some of the considerations you should take into account when designing your enrollment experience.
11
+
12
+ ## Provide multiple methods
13
+
14
+ The MFA APIs support multiple methods of authentication. Consider providing your users with multiple options for enrolling in MFA. Adding flexibility will reduce friction in users adoption.
15
+
16
+ <MfaEnrollmentDemoMultipleMethods />
17
+
18
+ ## Let users choose their primary method
19
+
20
+ If a user has enrolled in multiple methods, consider letting them select a primary. This will allow you to challenge them with the method they are most comfortable, whilst still benefiting from the security of a backup in case they lose access.
21
+
22
+ <MfaEnrollmentDemoPrimaryMethod />
23
+
24
+ ## Setup a `totp` factor accessibly
25
+
26
+ As we have previously seen, [when enrolling a `totp` factor using the MFA API](mfa/1-create-an-authentication-factor/enroll-the-authentication-factor), the response returns a `qr_code` and a `secret`.
27
+
28
+ The `qr_code` value can be passed directly to the source on an image tag as follows:
29
+
30
+ <CodeBlock title="Embed QR Code" file="embed-qr-code" />
31
+
32
+ However, some users may not be able to scan the QR code. Consider providing the `secret` value in the UI as an alternate way to set up their authenticator app.
33
+
34
+ <MfaEnrollmentDemoTotp />
35
+
36
+ Additionally, consider describing the QR code for assistive technologies:
37
+
38
+ <CodeBlock title="QR Code accessibility" file="link-qr-code-and-secret" />
39
+
40
+ ## Interoperable one-time-passcode input
41
+
42
+ In order to make the experience as smooth as possible for your users, there are a few things to consider regarding the input they will use to fill in their one-time-passcode.
43
+
44
+ ### Provide the right affordance
45
+
46
+ You may be tempted to use [a number input](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number) as it will show the mobile keyboard for numbers only. This is not recommended because a browser expects a number input to be countable, rather than a sequence of multiple numbers, which can cause unexpected behavior.
47
+
48
+ Instead, we recommend using a text input (`type="text"`) with the `inputmode="numeric"` attribute to provide mobile devices with the expected numerical keyboard prompt.
49
+
50
+ ### Autofill
51
+
52
+ Setting `autocomplete="one-time-code"` will enable autofill with in any user-agent that supports it. This will for example ensure Safari on iOS/MacOS can suggest/auto-fill the one-time-code received via SMS.
53
+
54
+ Consider also submitting the form automatically as soon as the passcode length has been met. This should help reduce the friction of using two-factor authentication for your users.
55
+
56
+ ### Validation
57
+
58
+ Consider using client-side validation to ensure the user enters a valid one-time-passcode. This will reduce the number of requests to the server and improve the user experience.
59
+
60
+ `pattern="^\d{6}$"` can be used to validate the length of the one-time-passcode.
61
+
62
+ Here is a code example implementing the above considerations:
63
+
64
+ <CodeBlock title="One-time-passcode input" file="otp-input" />
65
+
66
+ <MfaEnrollmentDemoOtpInput />
67
+
68
+ ---
69
+
70
+ ## Full UI interactive example
71
+
72
+ The following interactive example shows a full UI for enrolling in MFA, and encompasses all of the considerations mentioned above.
73
+
74
+ <MfaEnrollmentDemoFull />