@mulverse/mulguard-core 1.0.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 (600) hide show
  1. package/README.md +24 -0
  2. package/adapters.d.ts +522 -0
  3. package/adapters.d.ts.map +1 -0
  4. package/adapters.js +170 -0
  5. package/errors.d.ts +429 -0
  6. package/errors.d.ts.map +1 -0
  7. package/errors.js +473 -0
  8. package/index.d.ts +547 -0
  9. package/index.d.ts.map +1 -0
  10. package/index.js +142 -0
  11. package/jwt.d.ts +132 -0
  12. package/jwt.d.ts.map +1 -0
  13. package/jwt.js +123 -0
  14. package/lib/actions/callback/handle-login.d.ts +35 -0
  15. package/lib/actions/callback/handle-login.d.ts.map +1 -0
  16. package/lib/actions/callback/handle-login.js +275 -0
  17. package/lib/actions/callback/index.d.ts +5 -0
  18. package/lib/actions/callback/index.d.ts.map +1 -0
  19. package/lib/actions/callback/index.js +409 -0
  20. package/lib/actions/callback/oauth/callback.d.ts +36 -0
  21. package/lib/actions/callback/oauth/callback.d.ts.map +1 -0
  22. package/lib/actions/callback/oauth/callback.js +248 -0
  23. package/lib/actions/callback/oauth/checks.d.ts +70 -0
  24. package/lib/actions/callback/oauth/checks.d.ts.map +1 -0
  25. package/lib/actions/callback/oauth/checks.js +188 -0
  26. package/lib/actions/callback/oauth/csrf-token.d.ts +33 -0
  27. package/lib/actions/callback/oauth/csrf-token.d.ts.map +1 -0
  28. package/lib/actions/callback/oauth/csrf-token.js +39 -0
  29. package/lib/actions/index.d.ts +6 -0
  30. package/lib/actions/index.d.ts.map +1 -0
  31. package/lib/actions/index.js +5 -0
  32. package/lib/actions/session.d.ts +5 -0
  33. package/lib/actions/session.d.ts.map +1 -0
  34. package/lib/actions/session.js +127 -0
  35. package/lib/actions/signin/authorization-url.d.ts +12 -0
  36. package/lib/actions/signin/authorization-url.d.ts.map +1 -0
  37. package/lib/actions/signin/authorization-url.js +94 -0
  38. package/lib/actions/signin/index.d.ts +4 -0
  39. package/lib/actions/signin/index.d.ts.map +1 -0
  40. package/lib/actions/signin/index.js +22 -0
  41. package/lib/actions/signin/send-token.d.ts +10 -0
  42. package/lib/actions/signin/send-token.d.ts.map +1 -0
  43. package/lib/actions/signin/send-token.js +98 -0
  44. package/lib/actions/signout.d.ts +11 -0
  45. package/lib/actions/signout.d.ts.map +1 -0
  46. package/lib/actions/signout.js +30 -0
  47. package/lib/actions/webauthn-options.d.ts +8 -0
  48. package/lib/actions/webauthn-options.d.ts.map +1 -0
  49. package/lib/actions/webauthn-options.js +60 -0
  50. package/lib/index.d.ts +2 -0
  51. package/lib/index.d.ts.map +1 -0
  52. package/lib/index.js +70 -0
  53. package/lib/init.d.ts +25 -0
  54. package/lib/init.d.ts.map +1 -0
  55. package/lib/init.js +172 -0
  56. package/lib/pages/error.d.ts +17 -0
  57. package/lib/pages/error.d.ts.map +1 -0
  58. package/lib/pages/error.js +40 -0
  59. package/lib/pages/index.d.ts +42 -0
  60. package/lib/pages/index.d.ts.map +1 -0
  61. package/lib/pages/index.js +136 -0
  62. package/lib/pages/signin.d.ts +10 -0
  63. package/lib/pages/signin.d.ts.map +1 -0
  64. package/lib/pages/signin.js +75 -0
  65. package/lib/pages/signout.d.ts +8 -0
  66. package/lib/pages/signout.d.ts.map +1 -0
  67. package/lib/pages/signout.js +17 -0
  68. package/lib/pages/styles.d.ts +3 -0
  69. package/lib/pages/styles.d.ts.map +1 -0
  70. package/lib/pages/styles.js +381 -0
  71. package/lib/pages/verify-request.d.ts +8 -0
  72. package/lib/pages/verify-request.d.ts.map +1 -0
  73. package/lib/pages/verify-request.js +11 -0
  74. package/lib/symbols.d.ts +50 -0
  75. package/lib/symbols.d.ts.map +1 -0
  76. package/lib/symbols.js +57 -0
  77. package/lib/utils/actions.d.ts +3 -0
  78. package/lib/utils/actions.d.ts.map +1 -0
  79. package/lib/utils/actions.js +14 -0
  80. package/lib/utils/assert.d.ts +14 -0
  81. package/lib/utils/assert.d.ts.map +1 -0
  82. package/lib/utils/assert.js +168 -0
  83. package/lib/utils/callback-url.d.ts +17 -0
  84. package/lib/utils/callback-url.d.ts.map +1 -0
  85. package/lib/utils/callback-url.js +27 -0
  86. package/lib/utils/cookie.d.ts +111 -0
  87. package/lib/utils/cookie.d.ts.map +1 -0
  88. package/lib/utils/cookie.js +205 -0
  89. package/lib/utils/date.d.ts +7 -0
  90. package/lib/utils/date.d.ts.map +1 -0
  91. package/lib/utils/date.js +8 -0
  92. package/lib/utils/email.d.ts +20 -0
  93. package/lib/utils/email.d.ts.map +1 -0
  94. package/lib/utils/email.js +57 -0
  95. package/lib/utils/env.d.ts +9 -0
  96. package/lib/utils/env.d.ts.map +1 -0
  97. package/lib/utils/env.js +96 -0
  98. package/lib/utils/logger.d.ts +18 -0
  99. package/lib/utils/logger.d.ts.map +1 -0
  100. package/lib/utils/logger.js +50 -0
  101. package/lib/utils/merge.d.ts +3 -0
  102. package/lib/utils/merge.d.ts.map +1 -0
  103. package/lib/utils/merge.js +23 -0
  104. package/lib/utils/providers.d.ts +19 -0
  105. package/lib/utils/providers.d.ts.map +1 -0
  106. package/lib/utils/providers.js +149 -0
  107. package/lib/utils/session.d.ts +7 -0
  108. package/lib/utils/session.d.ts.map +1 -0
  109. package/lib/utils/session.js +29 -0
  110. package/lib/utils/web.d.ts +10 -0
  111. package/lib/utils/web.d.ts.map +1 -0
  112. package/lib/utils/web.js +109 -0
  113. package/lib/utils/webauthn-client.d.ts +30 -0
  114. package/lib/utils/webauthn-client.d.ts.map +1 -0
  115. package/lib/utils/webauthn-client.js +197 -0
  116. package/lib/utils/webauthn-utils.d.ts +81 -0
  117. package/lib/utils/webauthn-utils.d.ts.map +1 -0
  118. package/lib/utils/webauthn-utils.js +343 -0
  119. package/lib/vendored/cookie.d.ts +120 -0
  120. package/lib/vendored/cookie.d.ts.map +1 -0
  121. package/lib/vendored/cookie.js +237 -0
  122. package/package.json +118 -0
  123. package/providers/42-school.d.ts +240 -0
  124. package/providers/42-school.d.ts.map +1 -0
  125. package/providers/42-school.js +78 -0
  126. package/providers/apple.d.ts +149 -0
  127. package/providers/apple.d.ts.map +1 -0
  128. package/providers/apple.js +104 -0
  129. package/providers/asgardeo.d.ts +102 -0
  130. package/providers/asgardeo.d.ts.map +1 -0
  131. package/providers/asgardeo.js +93 -0
  132. package/providers/atlassian.d.ts +94 -0
  133. package/providers/atlassian.d.ts.map +1 -0
  134. package/providers/atlassian.js +84 -0
  135. package/providers/auth0.d.ts +116 -0
  136. package/providers/auth0.d.ts.map +1 -0
  137. package/providers/auth0.js +49 -0
  138. package/providers/authentik.d.ts +90 -0
  139. package/providers/authentik.d.ts.map +1 -0
  140. package/providers/authentik.js +65 -0
  141. package/providers/azure-ad-b2c.d.ts +104 -0
  142. package/providers/azure-ad-b2c.d.ts.map +1 -0
  143. package/providers/azure-ad-b2c.js +100 -0
  144. package/providers/azure-ad.d.ts +19 -0
  145. package/providers/azure-ad.d.ts.map +1 -0
  146. package/providers/azure-ad.js +23 -0
  147. package/providers/azure-devops.d.ts +128 -0
  148. package/providers/azure-devops.d.ts.map +1 -0
  149. package/providers/azure-devops.js +158 -0
  150. package/providers/bankid-no.d.ts +134 -0
  151. package/providers/bankid-no.d.ts.map +1 -0
  152. package/providers/bankid-no.js +65 -0
  153. package/providers/battlenet.d.ts +85 -0
  154. package/providers/battlenet.d.ts.map +1 -0
  155. package/providers/battlenet.js +81 -0
  156. package/providers/beyondidentity.d.ts +77 -0
  157. package/providers/beyondidentity.d.ts.map +1 -0
  158. package/providers/beyondidentity.js +84 -0
  159. package/providers/bitbucket.d.ts +89 -0
  160. package/providers/bitbucket.d.ts.map +1 -0
  161. package/providers/bitbucket.js +92 -0
  162. package/providers/box.d.ts +63 -0
  163. package/providers/box.d.ts.map +1 -0
  164. package/providers/box.js +73 -0
  165. package/providers/boxyhq-saml.d.ts +121 -0
  166. package/providers/boxyhq-saml.d.ts.map +1 -0
  167. package/providers/boxyhq-saml.js +127 -0
  168. package/providers/bungie.d.ts +167 -0
  169. package/providers/bungie.d.ts.map +1 -0
  170. package/providers/bungie.js +174 -0
  171. package/providers/click-up.d.ts +75 -0
  172. package/providers/click-up.d.ts.map +1 -0
  173. package/providers/click-up.js +89 -0
  174. package/providers/cognito.d.ts +81 -0
  175. package/providers/cognito.d.ts.map +1 -0
  176. package/providers/cognito.js +73 -0
  177. package/providers/coinbase.d.ts +69 -0
  178. package/providers/coinbase.d.ts.map +1 -0
  179. package/providers/coinbase.js +78 -0
  180. package/providers/concept2.d.ts +81 -0
  181. package/providers/concept2.d.ts.map +1 -0
  182. package/providers/concept2.js +86 -0
  183. package/providers/credentials.d.ts +132 -0
  184. package/providers/credentials.d.ts.map +1 -0
  185. package/providers/credentials.js +74 -0
  186. package/providers/descope.d.ts +91 -0
  187. package/providers/descope.d.ts.map +1 -0
  188. package/providers/descope.js +78 -0
  189. package/providers/discord.d.ts +139 -0
  190. package/providers/discord.d.ts.map +1 -0
  191. package/providers/discord.js +86 -0
  192. package/providers/dribbble.d.ts +88 -0
  193. package/providers/dribbble.d.ts.map +1 -0
  194. package/providers/dribbble.js +85 -0
  195. package/providers/dropbox.d.ts +65 -0
  196. package/providers/dropbox.d.ts.map +1 -0
  197. package/providers/dropbox.js +88 -0
  198. package/providers/duende-identity-server6.d.ts +91 -0
  199. package/providers/duende-identity-server6.d.ts.map +1 -0
  200. package/providers/duende-identity-server6.js +80 -0
  201. package/providers/email.d.ts +41 -0
  202. package/providers/email.d.ts.map +1 -0
  203. package/providers/email.js +18 -0
  204. package/providers/eventbrite.d.ts +78 -0
  205. package/providers/eventbrite.d.ts.map +1 -0
  206. package/providers/eventbrite.js +88 -0
  207. package/providers/eveonline.d.ts +94 -0
  208. package/providers/eveonline.d.ts.map +1 -0
  209. package/providers/eveonline.js +92 -0
  210. package/providers/facebook.d.ts +84 -0
  211. package/providers/facebook.d.ts.map +1 -0
  212. package/providers/facebook.js +93 -0
  213. package/providers/faceit.d.ts +64 -0
  214. package/providers/faceit.d.ts.map +1 -0
  215. package/providers/faceit.js +74 -0
  216. package/providers/figma.d.ts +75 -0
  217. package/providers/figma.d.ts.map +1 -0
  218. package/providers/figma.js +81 -0
  219. package/providers/forwardemail.d.ts +4 -0
  220. package/providers/forwardemail.d.ts.map +1 -0
  221. package/providers/forwardemail.js +32 -0
  222. package/providers/foursquare.d.ts +71 -0
  223. package/providers/foursquare.d.ts.map +1 -0
  224. package/providers/foursquare.js +91 -0
  225. package/providers/freshbooks.d.ts +66 -0
  226. package/providers/freshbooks.d.ts.map +1 -0
  227. package/providers/freshbooks.js +76 -0
  228. package/providers/frontegg.d.ts +95 -0
  229. package/providers/frontegg.d.ts.map +1 -0
  230. package/providers/frontegg.js +88 -0
  231. package/providers/fusionauth.d.ts +279 -0
  232. package/providers/fusionauth.d.ts.map +1 -0
  233. package/providers/fusionauth.js +292 -0
  234. package/providers/github.d.ts +127 -0
  235. package/providers/github.d.ts.map +1 -0
  236. package/providers/github.js +115 -0
  237. package/providers/gitlab.d.ts +115 -0
  238. package/providers/gitlab.d.ts.map +1 -0
  239. package/providers/gitlab.js +75 -0
  240. package/providers/google.d.ts +138 -0
  241. package/providers/google.d.ts.map +1 -0
  242. package/providers/google.js +119 -0
  243. package/providers/hubspot.d.ts +76 -0
  244. package/providers/hubspot.d.ts.map +1 -0
  245. package/providers/hubspot.js +93 -0
  246. package/providers/huggingface.d.ts +216 -0
  247. package/providers/huggingface.d.ts.map +1 -0
  248. package/providers/huggingface.js +101 -0
  249. package/providers/identity-server4.d.ts +69 -0
  250. package/providers/identity-server4.d.ts.map +1 -0
  251. package/providers/identity-server4.js +64 -0
  252. package/providers/index.d.ts +61 -0
  253. package/providers/index.d.ts.map +1 -0
  254. package/providers/index.js +3 -0
  255. package/providers/instagram.d.ts +74 -0
  256. package/providers/instagram.d.ts.map +1 -0
  257. package/providers/instagram.js +87 -0
  258. package/providers/kakao.d.ts +148 -0
  259. package/providers/kakao.d.ts.map +1 -0
  260. package/providers/kakao.js +103 -0
  261. package/providers/keycloak.d.ts +100 -0
  262. package/providers/keycloak.d.ts.map +1 -0
  263. package/providers/keycloak.js +73 -0
  264. package/providers/kinde.d.ts +73 -0
  265. package/providers/kinde.d.ts.map +1 -0
  266. package/providers/kinde.js +51 -0
  267. package/providers/line.d.ts +83 -0
  268. package/providers/line.d.ts.map +1 -0
  269. package/providers/line.js +73 -0
  270. package/providers/linkedin.d.ts +77 -0
  271. package/providers/linkedin.d.ts.map +1 -0
  272. package/providers/linkedin.js +65 -0
  273. package/providers/logto.d.ts +98 -0
  274. package/providers/logto.d.ts.map +1 -0
  275. package/providers/logto.js +81 -0
  276. package/providers/loops.d.ts +40 -0
  277. package/providers/loops.d.ts.map +1 -0
  278. package/providers/loops.js +59 -0
  279. package/providers/mailchimp.d.ts +66 -0
  280. package/providers/mailchimp.d.ts.map +1 -0
  281. package/providers/mailchimp.js +76 -0
  282. package/providers/mailgun.d.ts +55 -0
  283. package/providers/mailgun.d.ts.map +1 -0
  284. package/providers/mailgun.js +74 -0
  285. package/providers/mailru.d.ts +63 -0
  286. package/providers/mailru.d.ts.map +1 -0
  287. package/providers/mailru.js +61 -0
  288. package/providers/mastodon.d.ts +90 -0
  289. package/providers/mastodon.d.ts.map +1 -0
  290. package/providers/mastodon.js +75 -0
  291. package/providers/mattermost.d.ts +132 -0
  292. package/providers/mattermost.d.ts.map +1 -0
  293. package/providers/mattermost.js +83 -0
  294. package/providers/medium.d.ts +68 -0
  295. package/providers/medium.d.ts.map +1 -0
  296. package/providers/medium.js +84 -0
  297. package/providers/microsoft-entra-id.d.ts +428 -0
  298. package/providers/microsoft-entra-id.d.ts.map +1 -0
  299. package/providers/microsoft-entra-id.js +156 -0
  300. package/providers/naver.d.ts +80 -0
  301. package/providers/naver.d.ts.map +1 -0
  302. package/providers/naver.js +79 -0
  303. package/providers/netlify.d.ts +66 -0
  304. package/providers/netlify.d.ts.map +1 -0
  305. package/providers/netlify.js +85 -0
  306. package/providers/netsuite.d.ts +189 -0
  307. package/providers/netsuite.d.ts.map +1 -0
  308. package/providers/netsuite.js +170 -0
  309. package/providers/nextcloud.d.ts +150 -0
  310. package/providers/nextcloud.d.ts.map +1 -0
  311. package/providers/nextcloud.js +99 -0
  312. package/providers/nodemailer.d.ts +27 -0
  313. package/providers/nodemailer.d.ts.map +1 -0
  314. package/providers/nodemailer.js +34 -0
  315. package/providers/notion.d.ts +99 -0
  316. package/providers/notion.d.ts.map +1 -0
  317. package/providers/notion.js +110 -0
  318. package/providers/oauth.d.ts +188 -0
  319. package/providers/oauth.d.ts.map +1 -0
  320. package/providers/oauth.js +1 -0
  321. package/providers/okta.d.ts +99 -0
  322. package/providers/okta.d.ts.map +1 -0
  323. package/providers/okta.js +63 -0
  324. package/providers/onelogin.d.ts +65 -0
  325. package/providers/onelogin.d.ts.map +1 -0
  326. package/providers/onelogin.js +61 -0
  327. package/providers/ory-hydra.d.ts +79 -0
  328. package/providers/ory-hydra.d.ts.map +1 -0
  329. package/providers/ory-hydra.js +67 -0
  330. package/providers/osso.d.ts +79 -0
  331. package/providers/osso.d.ts.map +1 -0
  332. package/providers/osso.js +77 -0
  333. package/providers/osu.d.ts +116 -0
  334. package/providers/osu.d.ts.map +1 -0
  335. package/providers/osu.js +75 -0
  336. package/providers/passage.d.ts +88 -0
  337. package/providers/passage.d.ts.map +1 -0
  338. package/providers/passage.js +75 -0
  339. package/providers/passkey.d.ts +65 -0
  340. package/providers/passkey.d.ts.map +1 -0
  341. package/providers/passkey.js +87 -0
  342. package/providers/patreon.d.ts +73 -0
  343. package/providers/patreon.d.ts.map +1 -0
  344. package/providers/patreon.js +77 -0
  345. package/providers/ping-id.d.ts +57 -0
  346. package/providers/ping-id.d.ts.map +1 -0
  347. package/providers/ping-id.js +40 -0
  348. package/providers/pinterest.d.ts +79 -0
  349. package/providers/pinterest.d.ts.map +1 -0
  350. package/providers/pinterest.js +85 -0
  351. package/providers/pipedrive.d.ts +99 -0
  352. package/providers/pipedrive.d.ts.map +1 -0
  353. package/providers/pipedrive.js +71 -0
  354. package/providers/postmark.d.ts +4 -0
  355. package/providers/postmark.d.ts.map +1 -0
  356. package/providers/postmark.js +36 -0
  357. package/providers/provider-types.d.ts +3 -0
  358. package/providers/provider-types.d.ts.map +1 -0
  359. package/providers/provider-types.js +1 -0
  360. package/providers/reddit.d.ts +88 -0
  361. package/providers/reddit.d.ts.map +1 -0
  362. package/providers/reddit.js +90 -0
  363. package/providers/resend.d.ts +4 -0
  364. package/providers/resend.d.ts.map +1 -0
  365. package/providers/resend.js +32 -0
  366. package/providers/roblox.d.ts +67 -0
  367. package/providers/roblox.d.ts.map +1 -0
  368. package/providers/roblox.js +53 -0
  369. package/providers/salesforce.d.ts +59 -0
  370. package/providers/salesforce.d.ts.map +1 -0
  371. package/providers/salesforce.js +52 -0
  372. package/providers/sendgrid.d.ts +4 -0
  373. package/providers/sendgrid.d.ts.map +1 -0
  374. package/providers/sendgrid.js +35 -0
  375. package/providers/simplelogin.d.ts +87 -0
  376. package/providers/simplelogin.d.ts.map +1 -0
  377. package/providers/simplelogin.js +83 -0
  378. package/providers/slack.d.ts +102 -0
  379. package/providers/slack.d.ts.map +1 -0
  380. package/providers/slack.js +69 -0
  381. package/providers/spotify.d.ts +75 -0
  382. package/providers/spotify.d.ts.map +1 -0
  383. package/providers/spotify.js +73 -0
  384. package/providers/strava.d.ts +68 -0
  385. package/providers/strava.d.ts.map +1 -0
  386. package/providers/strava.js +80 -0
  387. package/providers/threads.d.ts +108 -0
  388. package/providers/threads.d.ts.map +1 -0
  389. package/providers/threads.js +89 -0
  390. package/providers/tiktok.d.ts +248 -0
  391. package/providers/tiktok.d.ts.map +1 -0
  392. package/providers/tiktok.js +195 -0
  393. package/providers/todoist.d.ts +76 -0
  394. package/providers/todoist.d.ts.map +1 -0
  395. package/providers/todoist.js +97 -0
  396. package/providers/trakt.d.ts +93 -0
  397. package/providers/trakt.d.ts.map +1 -0
  398. package/providers/trakt.js +91 -0
  399. package/providers/twitch.d.ts +71 -0
  400. package/providers/twitch.d.ts.map +1 -0
  401. package/providers/twitch.js +96 -0
  402. package/providers/twitter.d.ts +183 -0
  403. package/providers/twitter.d.ts.map +1 -0
  404. package/providers/twitter.js +100 -0
  405. package/providers/united-effects.d.ts +80 -0
  406. package/providers/united-effects.d.ts.map +1 -0
  407. package/providers/united-effects.js +72 -0
  408. package/providers/vipps.d.ts +71 -0
  409. package/providers/vipps.d.ts.map +1 -0
  410. package/providers/vipps.js +33 -0
  411. package/providers/vk.d.ts +334 -0
  412. package/providers/vk.d.ts.map +1 -0
  413. package/providers/vk.js +103 -0
  414. package/providers/webauthn.d.ts +148 -0
  415. package/providers/webauthn.d.ts.map +1 -0
  416. package/providers/webauthn.js +128 -0
  417. package/providers/webex.d.ts +78 -0
  418. package/providers/webex.d.ts.map +1 -0
  419. package/providers/webex.js +73 -0
  420. package/providers/wechat.d.ts +78 -0
  421. package/providers/wechat.d.ts.map +1 -0
  422. package/providers/wechat.js +105 -0
  423. package/providers/wikimedia.d.ts +99 -0
  424. package/providers/wikimedia.d.ts.map +1 -0
  425. package/providers/wikimedia.js +90 -0
  426. package/providers/wordpress.d.ts +65 -0
  427. package/providers/wordpress.d.ts.map +1 -0
  428. package/providers/wordpress.js +71 -0
  429. package/providers/workos.d.ts +154 -0
  430. package/providers/workos.d.ts.map +1 -0
  431. package/providers/workos.js +143 -0
  432. package/providers/yandex.d.ts +131 -0
  433. package/providers/yandex.d.ts.map +1 -0
  434. package/providers/yandex.js +80 -0
  435. package/providers/zitadel.d.ts +117 -0
  436. package/providers/zitadel.d.ts.map +1 -0
  437. package/providers/zitadel.js +95 -0
  438. package/providers/zoho.d.ts +63 -0
  439. package/providers/zoho.d.ts.map +1 -0
  440. package/providers/zoho.js +79 -0
  441. package/providers/zoom.d.ts +93 -0
  442. package/providers/zoom.d.ts.map +1 -0
  443. package/providers/zoom.js +82 -0
  444. package/src/adapters/server-actions-helpers.ts +126 -0
  445. package/src/adapters.ts +603 -0
  446. package/src/errors.ts +551 -0
  447. package/src/index.ts +689 -0
  448. package/src/jwt.ts +283 -0
  449. package/src/lib/actions/callback/handle-login.ts +334 -0
  450. package/src/lib/actions/callback/index.ts +554 -0
  451. package/src/lib/actions/callback/oauth/callback.ts +347 -0
  452. package/src/lib/actions/callback/oauth/checks.ts +258 -0
  453. package/src/lib/actions/callback/oauth/csrf-token.ts +60 -0
  454. package/src/lib/actions/index.ts +5 -0
  455. package/src/lib/actions/session.ts +167 -0
  456. package/src/lib/actions/signin/authorization-url.ts +123 -0
  457. package/src/lib/actions/signin/index.ts +37 -0
  458. package/src/lib/actions/signin/send-token.ts +124 -0
  459. package/src/lib/actions/signout.ts +38 -0
  460. package/src/lib/actions/webauthn-options.ts +100 -0
  461. package/src/lib/index.ts +97 -0
  462. package/src/lib/init.ts +236 -0
  463. package/src/lib/pages/error.tsx +106 -0
  464. package/src/lib/pages/index.ts +181 -0
  465. package/src/lib/pages/signin.tsx +255 -0
  466. package/src/lib/pages/signout.tsx +49 -0
  467. package/src/lib/pages/styles.css +377 -0
  468. package/src/lib/pages/styles.ts +381 -0
  469. package/src/lib/pages/verify-request.tsx +36 -0
  470. package/src/lib/symbols.ts +60 -0
  471. package/src/lib/utils/actions.ts +17 -0
  472. package/src/lib/utils/assert.ts +259 -0
  473. package/src/lib/utils/callback-url.ts +42 -0
  474. package/src/lib/utils/cookie.ts +248 -0
  475. package/src/lib/utils/date.ts +8 -0
  476. package/src/lib/utils/email.ts +65 -0
  477. package/src/lib/utils/env.ts +113 -0
  478. package/src/lib/utils/logger.ts +75 -0
  479. package/src/lib/utils/merge.ts +30 -0
  480. package/src/lib/utils/providers.ts +203 -0
  481. package/src/lib/utils/session.ts +41 -0
  482. package/src/lib/utils/web.ts +151 -0
  483. package/src/lib/utils/webauthn-client.js +229 -0
  484. package/src/lib/utils/webauthn-utils.ts +531 -0
  485. package/src/lib/vendored/cookie.ts +383 -0
  486. package/src/providers/42-school.ts +256 -0
  487. package/src/providers/apple.ts +206 -0
  488. package/src/providers/asgardeo.ts +118 -0
  489. package/src/providers/atlassian.ts +120 -0
  490. package/src/providers/auth0.ts +127 -0
  491. package/src/providers/authentik.ts +100 -0
  492. package/src/providers/azure-ad-b2c.ts +124 -0
  493. package/src/providers/azure-ad.ts +30 -0
  494. package/src/providers/azure-devops.ts +184 -0
  495. package/src/providers/bankid-no.ts +161 -0
  496. package/src/providers/battlenet.ts +107 -0
  497. package/src/providers/beyondidentity.ts +102 -0
  498. package/src/providers/bitbucket.ts +122 -0
  499. package/src/providers/box.ts +87 -0
  500. package/src/providers/boxyhq-saml.ts +148 -0
  501. package/src/providers/bungie.ts +192 -0
  502. package/src/providers/click-up.ts +104 -0
  503. package/src/providers/cognito.ts +94 -0
  504. package/src/providers/coinbase.ts +93 -0
  505. package/src/providers/concept2.ts +108 -0
  506. package/src/providers/credentials.ts +157 -0
  507. package/src/providers/descope.ts +105 -0
  508. package/src/providers/discord.ts +176 -0
  509. package/src/providers/dribbble.ts +122 -0
  510. package/src/providers/dropbox.ts +102 -0
  511. package/src/providers/duende-identity-server6.ts +101 -0
  512. package/src/providers/email.ts +60 -0
  513. package/src/providers/eventbrite.ts +105 -0
  514. package/src/providers/eveonline.ts +117 -0
  515. package/src/providers/facebook.ts +119 -0
  516. package/src/providers/faceit.ts +90 -0
  517. package/src/providers/figma.ts +105 -0
  518. package/src/providers/forwardemail.ts +37 -0
  519. package/src/providers/foursquare.ts +105 -0
  520. package/src/providers/freshbooks.ts +90 -0
  521. package/src/providers/frontegg.ts +111 -0
  522. package/src/providers/fusionauth.ts +336 -0
  523. package/src/providers/github.ts +187 -0
  524. package/src/providers/gitlab.ts +140 -0
  525. package/src/providers/google.ts +152 -0
  526. package/src/providers/hubspot.ts +117 -0
  527. package/src/providers/huggingface.ts +234 -0
  528. package/src/providers/identity-server4.ts +78 -0
  529. package/src/providers/index.ts +115 -0
  530. package/src/providers/instagram.ts +103 -0
  531. package/src/providers/kakao.ts +184 -0
  532. package/src/providers/keycloak.ts +111 -0
  533. package/src/providers/kinde.ts +85 -0
  534. package/src/providers/line.ts +99 -0
  535. package/src/providers/linkedin.ts +91 -0
  536. package/src/providers/logto.ts +122 -0
  537. package/src/providers/loops.ts +79 -0
  538. package/src/providers/mailchimp.ts +90 -0
  539. package/src/providers/mailgun.ts +98 -0
  540. package/src/providers/mailru.ts +75 -0
  541. package/src/providers/mastodon.ts +112 -0
  542. package/src/providers/mattermost.ts +154 -0
  543. package/src/providers/medium.ts +89 -0
  544. package/src/providers/microsoft-entra-id.ts +497 -0
  545. package/src/providers/naver.ts +102 -0
  546. package/src/providers/netlify.ts +90 -0
  547. package/src/providers/netsuite.ts +225 -0
  548. package/src/providers/nextcloud.ts +207 -0
  549. package/src/providers/nodemailer.ts +84 -0
  550. package/src/providers/notion.ts +166 -0
  551. package/src/providers/oauth.ts +310 -0
  552. package/src/providers/okta.ts +111 -0
  553. package/src/providers/onelogin.ts +75 -0
  554. package/src/providers/ory-hydra.ts +93 -0
  555. package/src/providers/osso.ts +91 -0
  556. package/src/providers/osu.ts +138 -0
  557. package/src/providers/passage.ts +103 -0
  558. package/src/providers/passkey.ts +94 -0
  559. package/src/providers/patreon.ts +98 -0
  560. package/src/providers/ping-id.ts +68 -0
  561. package/src/providers/pinterest.ts +106 -0
  562. package/src/providers/pipedrive.ts +120 -0
  563. package/src/providers/postmark.ts +38 -0
  564. package/src/providers/provider-types.ts +107 -0
  565. package/src/providers/reddit.ts +104 -0
  566. package/src/providers/resend.ts +35 -0
  567. package/src/providers/roblox.ts +94 -0
  568. package/src/providers/salesforce.ts +73 -0
  569. package/src/providers/sendgrid.ts +36 -0
  570. package/src/providers/simplelogin.ts +107 -0
  571. package/src/providers/slack.ts +115 -0
  572. package/src/providers/spotify.ts +99 -0
  573. package/src/providers/strava.ts +101 -0
  574. package/src/providers/threads.ts +135 -0
  575. package/src/providers/tiktok.ts +319 -0
  576. package/src/providers/todoist.ts +122 -0
  577. package/src/providers/trakt.ts +120 -0
  578. package/src/providers/twitch.ts +121 -0
  579. package/src/providers/twitter.ts +207 -0
  580. package/src/providers/united-effects.ts +89 -0
  581. package/src/providers/vipps.ts +86 -0
  582. package/src/providers/vk.ts +401 -0
  583. package/src/providers/webauthn.ts +296 -0
  584. package/src/providers/webex.ts +102 -0
  585. package/src/providers/wechat.ts +141 -0
  586. package/src/providers/wikimedia.ts +258 -0
  587. package/src/providers/wordpress.ts +86 -0
  588. package/src/providers/workos.ts +180 -0
  589. package/src/providers/yandex.ts +159 -0
  590. package/src/providers/zitadel.ts +128 -0
  591. package/src/providers/zoho.ts +84 -0
  592. package/src/providers/zoom.ts +119 -0
  593. package/src/types.ts +430 -0
  594. package/src/warnings.ts +21 -0
  595. package/types.d.ts +309 -0
  596. package/types.d.ts.map +1 -0
  597. package/types.js +53 -0
  598. package/warnings.d.ts +17 -0
  599. package/warnings.d.ts.map +1 -0
  600. package/warnings.js +1 -0
@@ -0,0 +1,117 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Zitadel</b> integration.</span>
4
+ * <a href="https://zitadel.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel.svg" height="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/zitadel
10
+ */
11
+ import type { OIDCConfig, OAuthUserConfig } from "./index.js";
12
+ /**
13
+ * The returned user profile from ZITADEL when using the profile callback. See the standard claims reference [here](https://zitadel.com/docs/apis/openidoauth/claims#standard-claims).
14
+ * If you need access to ZITADEL APIs or need additional information, make sure to add the corresponding scopes.
15
+ */
16
+ export interface ZitadelProfile extends Record<string, any> {
17
+ amr: string;
18
+ aud: string;
19
+ auth_time: number;
20
+ azp: string;
21
+ email: string;
22
+ email_verified: boolean;
23
+ exp: number;
24
+ family_name: string;
25
+ given_name: string;
26
+ gender: string;
27
+ iat: number;
28
+ iss: string;
29
+ jti: string;
30
+ locale: string;
31
+ name: string;
32
+ nbf: number;
33
+ picture: string;
34
+ phone: string;
35
+ phone_verified: boolean;
36
+ preferred_username: string;
37
+ sub: string;
38
+ }
39
+ /**
40
+ * Add ZITADEL login to your page.
41
+ *
42
+ * ### Setup
43
+ *
44
+ * #### Callback URL
45
+ * ```
46
+ * https://example.com/api/auth/callback/zitadel
47
+ * ```
48
+ *
49
+ * #### Configuration
50
+ *```ts
51
+ * import { Auth } from "@auth/core"
52
+ * import ZITADEL from "@auth/core/providers/zitadel"
53
+ *
54
+ * const request = new Request(origin)
55
+ * const response = await Auth(request, {
56
+ * providers: [
57
+ * ZITADEL({
58
+ * clientId: ZITADEL_CLIENT_ID,
59
+ * clientSecret: ZITADEL_CLIENT_SECRET,
60
+ * }),
61
+ * ],
62
+ * })
63
+ * ```
64
+ *
65
+ * ### Resources
66
+ * - [ZITADEL OpenID Endpoints](https://zitadel.com/docs/apis/openidoauth/endpoints)
67
+ * - [ZITADEL recommended OAuth Flows](https://zitadel.com/docs/guides/integrate/oauth-recommended-flows)
68
+ *
69
+ * ### Notes
70
+ *
71
+ * By default, Auth.js assumes that the ZITADEL provider is
72
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
73
+ *
74
+ * The Redirect URIs used when creating the credentials must include your full domain and end in the callback path. For example:
75
+ * - For production: `https://{YOUR_DOMAIN}/api/auth/callback/zitadel`
76
+ * - For development: `http://localhost:3000/api/auth/callback/zitadel`
77
+ *
78
+ * Make sure to enable dev mode in ZITADEL console to allow redirects for local development.
79
+ *
80
+ * :::tip
81
+ *
82
+ * The ZITADEL provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/zitadel.ts).
83
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
84
+ *
85
+ * :::
86
+ * :::tip
87
+ *
88
+ * ZITADEL also returns a email_verified boolean property in the profile. You can use this property to restrict access to people with verified accounts.
89
+ * ```ts
90
+ * const options = {
91
+ * ...
92
+ * callbacks: {
93
+ * async signIn({ account, profile }) {
94
+ * if (account.provider === "zitadel") {
95
+ * return profile.email_verified;
96
+ * }
97
+ * return true; // Do different verification for other providers that don't have `email_verified`
98
+ * },
99
+ * }
100
+ * ...
101
+ * }
102
+ * ```
103
+ *
104
+ * :::
105
+ *
106
+ * :::info **Disclaimer**
107
+ *
108
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
109
+ *
110
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
111
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
112
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
113
+ *
114
+ * :::
115
+ */
116
+ export default function ZITADEL<P extends ZitadelProfile>(options: OAuthUserConfig<P>): OIDCConfig<P>;
117
+ //# sourceMappingURL=zitadel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zitadel.d.ts","sourceRoot":"","sources":["../src/providers/zitadel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,SAAS,cAAc,EACtD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,UAAU,CAAC,CAAC,CAAC,CAOf"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Zitadel</b> integration.</span>
4
+ * <a href="https://zitadel.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/zitadel.svg" height="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/zitadel
10
+ */
11
+ /**
12
+ * Add ZITADEL login to your page.
13
+ *
14
+ * ### Setup
15
+ *
16
+ * #### Callback URL
17
+ * ```
18
+ * https://example.com/api/auth/callback/zitadel
19
+ * ```
20
+ *
21
+ * #### Configuration
22
+ *```ts
23
+ * import { Auth } from "@auth/core"
24
+ * import ZITADEL from "@auth/core/providers/zitadel"
25
+ *
26
+ * const request = new Request(origin)
27
+ * const response = await Auth(request, {
28
+ * providers: [
29
+ * ZITADEL({
30
+ * clientId: ZITADEL_CLIENT_ID,
31
+ * clientSecret: ZITADEL_CLIENT_SECRET,
32
+ * }),
33
+ * ],
34
+ * })
35
+ * ```
36
+ *
37
+ * ### Resources
38
+ * - [ZITADEL OpenID Endpoints](https://zitadel.com/docs/apis/openidoauth/endpoints)
39
+ * - [ZITADEL recommended OAuth Flows](https://zitadel.com/docs/guides/integrate/oauth-recommended-flows)
40
+ *
41
+ * ### Notes
42
+ *
43
+ * By default, Auth.js assumes that the ZITADEL provider is
44
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
45
+ *
46
+ * The Redirect URIs used when creating the credentials must include your full domain and end in the callback path. For example:
47
+ * - For production: `https://{YOUR_DOMAIN}/api/auth/callback/zitadel`
48
+ * - For development: `http://localhost:3000/api/auth/callback/zitadel`
49
+ *
50
+ * Make sure to enable dev mode in ZITADEL console to allow redirects for local development.
51
+ *
52
+ * :::tip
53
+ *
54
+ * The ZITADEL provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/zitadel.ts).
55
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
56
+ *
57
+ * :::
58
+ * :::tip
59
+ *
60
+ * ZITADEL also returns a email_verified boolean property in the profile. You can use this property to restrict access to people with verified accounts.
61
+ * ```ts
62
+ * const options = {
63
+ * ...
64
+ * callbacks: {
65
+ * async signIn({ account, profile }) {
66
+ * if (account.provider === "zitadel") {
67
+ * return profile.email_verified;
68
+ * }
69
+ * return true; // Do different verification for other providers that don't have `email_verified`
70
+ * },
71
+ * }
72
+ * ...
73
+ * }
74
+ * ```
75
+ *
76
+ * :::
77
+ *
78
+ * :::info **Disclaimer**
79
+ *
80
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
81
+ *
82
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
83
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
84
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
85
+ *
86
+ * :::
87
+ */
88
+ export default function ZITADEL(options) {
89
+ return {
90
+ id: "zitadel",
91
+ name: "ZITADEL",
92
+ type: "oidc",
93
+ options,
94
+ };
95
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>ZOHO</b> integration.</span>
4
+ * <a href="https://zoho.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/zoho.svg" height="48" />
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/zoho
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ /**
13
+ * Add ZOHO login to your page.
14
+ *
15
+ * ### Setup
16
+ *
17
+ * #### Callback URL
18
+ * ```
19
+ * https://example.com/api/auth/callback/zoho
20
+ * ```
21
+ *
22
+ * #### Configuration
23
+ *```ts
24
+ * import { Auth } from "@auth/core"
25
+ * import ZOHO from "@auth/core/providers/zoho"
26
+ *
27
+ * const request = new Request(origin)
28
+ * const response = await Auth(request, {
29
+ * providers: [
30
+ * ZOHO({ clientId: ZOHO_CLIENT_ID, clientSecret: ZOHO_CLIENT_SECRET }),
31
+ * ],
32
+ * })
33
+ * ```
34
+ *
35
+ * ### Resources
36
+ *
37
+ * - [Zoho OAuth 2.0 Integration Guide](https://www.zoho.com/accounts/protocol/oauth/web-server-applications.html)
38
+ * - [Zoho API Console](https://api-console.zoho.com)
39
+ *
40
+ * ### Notes
41
+ *
42
+ * By default, Auth.js assumes that the ZOHO provider is
43
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
44
+ *
45
+ * :::tip
46
+ *
47
+ * The ZOHO provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/zoho.ts).
48
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
49
+ *
50
+ * :::
51
+ *
52
+ * :::info **Disclaimer**
53
+ *
54
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
55
+ *
56
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
57
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
58
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
59
+ *
60
+ * :::
61
+ */
62
+ export default function Zoho(config: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
63
+ //# sourceMappingURL=zoho.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoho.d.ts","sourceRoot":"","sources":["../src/providers/zoho.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAC1B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC3C,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAmBlC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>ZOHO</b> integration.</span>
4
+ * <a href="https://zoho.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/zoho.svg" height="48" />
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/zoho
10
+ */
11
+ /**
12
+ * Add ZOHO login to your page.
13
+ *
14
+ * ### Setup
15
+ *
16
+ * #### Callback URL
17
+ * ```
18
+ * https://example.com/api/auth/callback/zoho
19
+ * ```
20
+ *
21
+ * #### Configuration
22
+ *```ts
23
+ * import { Auth } from "@auth/core"
24
+ * import ZOHO from "@auth/core/providers/zoho"
25
+ *
26
+ * const request = new Request(origin)
27
+ * const response = await Auth(request, {
28
+ * providers: [
29
+ * ZOHO({ clientId: ZOHO_CLIENT_ID, clientSecret: ZOHO_CLIENT_SECRET }),
30
+ * ],
31
+ * })
32
+ * ```
33
+ *
34
+ * ### Resources
35
+ *
36
+ * - [Zoho OAuth 2.0 Integration Guide](https://www.zoho.com/accounts/protocol/oauth/web-server-applications.html)
37
+ * - [Zoho API Console](https://api-console.zoho.com)
38
+ *
39
+ * ### Notes
40
+ *
41
+ * By default, Auth.js assumes that the ZOHO provider is
42
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
43
+ *
44
+ * :::tip
45
+ *
46
+ * The ZOHO provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/zoho.ts).
47
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
48
+ *
49
+ * :::
50
+ *
51
+ * :::info **Disclaimer**
52
+ *
53
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
54
+ *
55
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
56
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
57
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
58
+ *
59
+ * :::
60
+ */
61
+ export default function Zoho(config) {
62
+ return {
63
+ id: "zoho",
64
+ name: "Zoho",
65
+ type: "oauth",
66
+ authorization: "https://accounts.zoho.com/oauth/v2/auth?scope=AaaServer.profile.Read",
67
+ token: "https://accounts.zoho.com/oauth/v2/token",
68
+ userinfo: "https://accounts.zoho.com/oauth/user/info",
69
+ profile(profile) {
70
+ return {
71
+ id: profile.ZUID,
72
+ name: `${profile.First_Name} ${profile.Last_Name}`,
73
+ email: profile.Email,
74
+ image: null,
75
+ };
76
+ },
77
+ options: config,
78
+ };
79
+ }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Zoom</b> integration.</span>
4
+ * <a href="https://zoom.us/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/zoom.svg" height="48" />
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/zoom
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ /**
13
+ * See: https://developers.zoom.us/docs/integrations/oauth/#using-an-access-token
14
+ */
15
+ export interface ZoomProfile extends Record<string, any> {
16
+ id: string;
17
+ first_name: string;
18
+ last_name: string;
19
+ email: string;
20
+ type: number;
21
+ role_name: string;
22
+ pmi: number;
23
+ use_pmi: boolean;
24
+ vanity_url: string;
25
+ personal_meeting_url: string;
26
+ timezone: string;
27
+ verified: number;
28
+ dept: string;
29
+ created_at: string;
30
+ last_login_time: string;
31
+ last_client_version: string;
32
+ pic_url: string;
33
+ host_key: string;
34
+ jid: string;
35
+ group_ids: string[];
36
+ im_group_ids: string[];
37
+ account_id: string;
38
+ language: string;
39
+ phone_country: string;
40
+ phone_number: string;
41
+ status: string;
42
+ }
43
+ /**
44
+ * Add Zoom login to your page.
45
+ *
46
+ * ### Setup
47
+ *
48
+ * #### Callback URL
49
+ * ```
50
+ * https://example.com/api/auth/callback/zoom
51
+ * ```
52
+ *
53
+ * #### Configuration
54
+ *```ts
55
+ * import { Auth } from "@auth/core"
56
+ * import Zoom from "@auth/core/providers/zoom"
57
+ *
58
+ * const request = new Request(origin)
59
+ * const response = await Auth(request, {
60
+ * providers: [
61
+ * Zoom({ clientId: ZOOM_CLIENT_ID, clientSecret: ZOOM_CLIENT_SECRET }),
62
+ * ],
63
+ * })
64
+ * ```
65
+ *
66
+ * ### Resources
67
+ *
68
+ * - [Zoom OAuth 2.0 Integration Guide](https://developers.zoom.us/docs/integrations/oauth/)
69
+ *
70
+ * ### Notes
71
+ *
72
+ * By default, Auth.js assumes that the Zoom provider is
73
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
74
+ *
75
+ * :::tip
76
+ *
77
+ * The Zoom provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/zoom.ts).
78
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
79
+ *
80
+ * :::
81
+ *
82
+ * :::info **Disclaimer**
83
+ *
84
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
85
+ *
86
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
87
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
88
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
89
+ *
90
+ * :::
91
+ */
92
+ export default function Zoom(config: OAuthUserConfig<ZoomProfile>): OAuthConfig<ZoomProfile>;
93
+ //# sourceMappingURL=zoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../src/providers/zoom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAC1B,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,GACnC,WAAW,CAAC,WAAW,CAAC,CAsB1B"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Zoom</b> integration.</span>
4
+ * <a href="https://zoom.us/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/zoom.svg" height="48" />
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/zoom
10
+ */
11
+ /**
12
+ * Add Zoom login to your page.
13
+ *
14
+ * ### Setup
15
+ *
16
+ * #### Callback URL
17
+ * ```
18
+ * https://example.com/api/auth/callback/zoom
19
+ * ```
20
+ *
21
+ * #### Configuration
22
+ *```ts
23
+ * import { Auth } from "@auth/core"
24
+ * import Zoom from "@auth/core/providers/zoom"
25
+ *
26
+ * const request = new Request(origin)
27
+ * const response = await Auth(request, {
28
+ * providers: [
29
+ * Zoom({ clientId: ZOOM_CLIENT_ID, clientSecret: ZOOM_CLIENT_SECRET }),
30
+ * ],
31
+ * })
32
+ * ```
33
+ *
34
+ * ### Resources
35
+ *
36
+ * - [Zoom OAuth 2.0 Integration Guide](https://developers.zoom.us/docs/integrations/oauth/)
37
+ *
38
+ * ### Notes
39
+ *
40
+ * By default, Auth.js assumes that the Zoom provider is
41
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
42
+ *
43
+ * :::tip
44
+ *
45
+ * The Zoom provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/zoom.ts).
46
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
47
+ *
48
+ * :::
49
+ *
50
+ * :::info **Disclaimer**
51
+ *
52
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
53
+ *
54
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
55
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
56
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
57
+ *
58
+ * :::
59
+ */
60
+ export default function Zoom(config) {
61
+ return {
62
+ id: "zoom",
63
+ name: "Zoom",
64
+ type: "oauth",
65
+ authorization: "https://zoom.us/oauth/authorize?scope",
66
+ token: "https://zoom.us/oauth/token",
67
+ userinfo: "https://api.zoom.us/v2/users/me",
68
+ profile(profile) {
69
+ return {
70
+ id: profile.id,
71
+ name: `${profile.first_name} ${profile.last_name}`,
72
+ email: profile.email,
73
+ image: profile.pic_url,
74
+ };
75
+ },
76
+ style: {
77
+ bg: "#0b5cff",
78
+ text: "#fff",
79
+ },
80
+ options: config,
81
+ };
82
+ }
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Helper functions for Server Actions Adapter
3
+ *
4
+ * This module provides utilities to convert server actions into adapter format
5
+ * and handle server action responses.
6
+ */
7
+
8
+ import type { Adapter, ServerActionsAdapter } from "../adapters.js"
9
+ import type { Awaitable } from "../types.js"
10
+
11
+ /**
12
+ * Creates an Adapter from Server Actions Adapter.
13
+ * This function wraps server actions to match the Adapter interface.
14
+ *
15
+ * @param serverActions - The server actions adapter configuration
16
+ * @returns An Adapter instance that uses the provided server actions
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const adapter = createServerActionsAdapter({
21
+ * getUser: async (id) => {
22
+ * const user = await getProfileApiV1AuthMeGet()
23
+ * return transformToAdapterUser(user)
24
+ * },
25
+ * })
26
+ * ```
27
+ */
28
+ export function createServerActionsAdapter(
29
+ serverActions: ServerActionsAdapter
30
+ ): Adapter {
31
+ const adapter: Adapter = {}
32
+
33
+ // Map all server action methods to adapter methods
34
+ if (serverActions.createUser) {
35
+ adapter.createUser = serverActions.createUser
36
+ }
37
+
38
+ if (serverActions.getUser) {
39
+ adapter.getUser = serverActions.getUser
40
+ }
41
+
42
+ if (serverActions.getUserByEmail) {
43
+ adapter.getUserByEmail = serverActions.getUserByEmail
44
+ }
45
+
46
+ if (serverActions.getUserByAccount) {
47
+ adapter.getUserByAccount = serverActions.getUserByAccount
48
+ }
49
+
50
+ if (serverActions.updateUser) {
51
+ adapter.updateUser = serverActions.updateUser
52
+ }
53
+
54
+ if (serverActions.deleteUser) {
55
+ adapter.deleteUser = serverActions.deleteUser
56
+ }
57
+
58
+ if (serverActions.linkAccount) {
59
+ adapter.linkAccount = serverActions.linkAccount
60
+ }
61
+
62
+ if (serverActions.unlinkAccount) {
63
+ adapter.unlinkAccount = serverActions.unlinkAccount
64
+ }
65
+
66
+ if (serverActions.createSession) {
67
+ adapter.createSession = serverActions.createSession
68
+ }
69
+
70
+ if (serverActions.getSessionAndUser) {
71
+ adapter.getSessionAndUser = serverActions.getSessionAndUser
72
+ }
73
+
74
+ if (serverActions.updateSession) {
75
+ adapter.updateSession = serverActions.updateSession
76
+ }
77
+
78
+ if (serverActions.deleteSession) {
79
+ adapter.deleteSession = serverActions.deleteSession
80
+ }
81
+
82
+ if (serverActions.createVerificationToken) {
83
+ adapter.createVerificationToken = serverActions.createVerificationToken
84
+ }
85
+
86
+ if (serverActions.useVerificationToken) {
87
+ adapter.useVerificationToken = serverActions.useVerificationToken
88
+ }
89
+
90
+ if (serverActions.getAccount) {
91
+ adapter.getAccount = serverActions.getAccount
92
+ }
93
+
94
+ if (serverActions.getAuthenticator) {
95
+ adapter.getAuthenticator = serverActions.getAuthenticator
96
+ }
97
+
98
+ if (serverActions.createAuthenticator) {
99
+ adapter.createAuthenticator = serverActions.createAuthenticator
100
+ }
101
+
102
+ if (serverActions.listAuthenticatorsByUserId) {
103
+ adapter.listAuthenticatorsByUserId = serverActions.listAuthenticatorsByUserId
104
+ }
105
+
106
+ if (serverActions.updateAuthenticatorCounter) {
107
+ adapter.updateAuthenticatorCounter = serverActions.updateAuthenticatorCounter
108
+ }
109
+
110
+ return adapter
111
+ }
112
+
113
+ /**
114
+ * Checks if a Server Actions Adapter has all required methods for a specific feature.
115
+ *
116
+ * @param serverActions - The server actions adapter to check
117
+ * @param requiredMethods - Array of method names that are required
118
+ * @returns True if all required methods are present, false otherwise
119
+ */
120
+ export function hasRequiredServerActions(
121
+ serverActions: ServerActionsAdapter,
122
+ requiredMethods: (keyof ServerActionsAdapter)[]
123
+ ): boolean {
124
+ return requiredMethods.every((method) => method in serverActions && serverActions[method] !== undefined)
125
+ }
126
+