@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,76 @@
1
+ /**
2
+ * Add Mailchimp login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/mailchimp
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Mailchimp from "@auth/core/providers/mailchimp"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Mailchimp({
20
+ * clientId: MAILCHIMP_CLIENT_ID,
21
+ * clientSecret: MAILCHIMP_CLIENT_SECRET,
22
+ * }),
23
+ * ],
24
+ * })
25
+ * ```
26
+ *
27
+ * ### Resources
28
+ *
29
+ * - [Mailchimp OAuth documentation](https://admin.mailchimp.com/account/oauth2/client/)
30
+ * - [Mailchimp documentation: Access user data](https://mailchimp.com/developer/marketing/guides/access-user-data-oauth-2/)
31
+ *
32
+ * ### Notes
33
+ *
34
+ * By default, Auth.js assumes that the Mailchimp provider is
35
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
36
+ *
37
+ * :::tip
38
+ *
39
+ * The Mailchimp provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/mailchimp.ts).
40
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
41
+ *
42
+ * :::
43
+ *
44
+ * :::info **Disclaimer**
45
+ *
46
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
47
+ *
48
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
49
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
50
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
51
+ *
52
+ * :::
53
+ */
54
+ export default function Mailchimp(config) {
55
+ return {
56
+ id: "mailchimp",
57
+ name: "Mailchimp",
58
+ type: "oauth",
59
+ authorization: "https://login.mailchimp.com/oauth2/authorize",
60
+ token: "https://login.mailchimp.com/oauth2/token",
61
+ userinfo: "https://login.mailchimp.com/oauth2/metadata",
62
+ profile(profile) {
63
+ return {
64
+ id: profile.login.login_id,
65
+ name: profile.accountname,
66
+ email: profile.login.email,
67
+ image: null,
68
+ };
69
+ },
70
+ style: {
71
+ bg: "#000",
72
+ text: "#fff",
73
+ },
74
+ options: config,
75
+ };
76
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Mailgun</b> integration.</span>
4
+ * <a href="https://www.mailgun.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/mailgun.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/mailgun
10
+ */
11
+ import type { EmailConfig, EmailUserConfig } from "./index.js";
12
+ /**
13
+ * Add Mailgun login to your page.
14
+ *
15
+ * ### Setup
16
+ *
17
+ * #### Configuration
18
+ *```ts
19
+ * import { Auth } from "@auth/core"
20
+ * import Mailgun from "@auth/core/providers/mailgun"
21
+ *
22
+ * const request = new Request(origin)
23
+ * const response = await Auth(request, {
24
+ * providers: [
25
+ * Mailgun({
26
+ * from: MAILGUN_DOMAIN,
27
+ * region: "EU", // Optional
28
+ * }),
29
+ * ],
30
+ * })
31
+ * ```
32
+ *
33
+ * ### Resources
34
+ *
35
+ * - [Mailgun documentation](https://documentation.mailgun.com/docs/mailgun)
36
+ *
37
+ * :::info **Disclaimer**
38
+ *
39
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
40
+ *
41
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
42
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
43
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
44
+ *
45
+ * :::
46
+ */
47
+ export default function MailGun(config: EmailUserConfig & {
48
+ /**
49
+ * https://documentation.mailgun.com/docs/mailgun/api-reference/#base-url
50
+ *
51
+ * @default "US"
52
+ */
53
+ region?: "US" | "EU";
54
+ }): EmailConfig;
55
+ //# sourceMappingURL=mailgun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailgun.d.ts","sourceRoot":"","sources":["../src/providers/mailgun.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,MAAM,EAAE,eAAe,GAAG;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CACrB,GACA,WAAW,CAwCb"}
@@ -0,0 +1,74 @@
1
+ import { html, text } from "../lib/utils/email.js";
2
+ /**
3
+ * Add Mailgun login to your page.
4
+ *
5
+ * ### Setup
6
+ *
7
+ * #### Configuration
8
+ *```ts
9
+ * import { Auth } from "@auth/core"
10
+ * import Mailgun from "@auth/core/providers/mailgun"
11
+ *
12
+ * const request = new Request(origin)
13
+ * const response = await Auth(request, {
14
+ * providers: [
15
+ * Mailgun({
16
+ * from: MAILGUN_DOMAIN,
17
+ * region: "EU", // Optional
18
+ * }),
19
+ * ],
20
+ * })
21
+ * ```
22
+ *
23
+ * ### Resources
24
+ *
25
+ * - [Mailgun documentation](https://documentation.mailgun.com/docs/mailgun)
26
+ *
27
+ * :::info **Disclaimer**
28
+ *
29
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
30
+ *
31
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
32
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
33
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
34
+ *
35
+ * :::
36
+ */
37
+ export default function MailGun(config) {
38
+ const { region = "US" } = config;
39
+ const servers = {
40
+ US: "api.mailgun.net",
41
+ EU: "api.eu.mailgun.net",
42
+ };
43
+ const apiServer = servers[region];
44
+ return {
45
+ id: "mailgun",
46
+ type: "email",
47
+ name: "Mailgun",
48
+ from: "Auth.js <no-reply@authjs.dev>",
49
+ maxAge: 24 * 60 * 60,
50
+ async sendVerificationRequest(params) {
51
+ const { identifier: to, provider, url, theme } = params;
52
+ const { host } = new URL(url);
53
+ const domain = provider.from?.split("@").at(1);
54
+ if (!domain)
55
+ throw new Error("malformed Mailgun domain");
56
+ const form = new FormData();
57
+ form.append("from", `${provider.name} <${provider.from}>`);
58
+ form.append("to", to);
59
+ form.append("subject", `Sign in to ${host}`);
60
+ form.append("html", html({ host, url, theme }));
61
+ form.append("text", text({ host, url }));
62
+ const res = await fetch(`https://${apiServer}/v3/${domain}/messages`, {
63
+ method: "POST",
64
+ headers: {
65
+ Authorization: `Basic ${btoa(`api:${provider.apiKey}`)}`,
66
+ },
67
+ body: form,
68
+ });
69
+ if (!res.ok)
70
+ throw new Error("Mailgun error: " + (await res.text()));
71
+ },
72
+ options: config,
73
+ };
74
+ }
@@ -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>Mailru</b> integration.</span>
4
+ * <a href="https://mail.ru">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/mailru.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/mailru
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ /**
13
+ * Add Mailru login to your page.
14
+ *
15
+ * ### Setup
16
+ *
17
+ * #### Callback URL
18
+ * ```
19
+ * https://example.com/api/auth/callback/mailru
20
+ * ```
21
+ *
22
+ * #### Configuration
23
+ *```ts
24
+ * import { Auth } from "@auth/core"
25
+ * import Mailru from "@auth/core/providers/mailru"
26
+ *
27
+ * const request = new Request(origin)
28
+ * const response = await Auth(request, {
29
+ * providers: [
30
+ * Mailru({ clientId: MAILRU_CLIENT_ID, clientSecret: MAILRU_CLIENT_SECRET }),
31
+ * ],
32
+ * })
33
+ * ```
34
+ *
35
+ * ### Resources
36
+ *
37
+ * - [Mailru OAuth documentation](https://o2.mail.ru/docs)
38
+ * - [Mailru app console](https://o2.mail.ru/app/)
39
+ *
40
+ * ### Notes
41
+ *
42
+ * By default, Auth.js assumes that the Mailru provider is
43
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
44
+ *
45
+ * :::tip
46
+ *
47
+ * The Mailru provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/ma.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 Mailru(config: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
63
+ //# sourceMappingURL=mailru.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailru.d.ts","sourceRoot":"","sources":["../src/providers/mailru.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC3C,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAUlC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Add Mailru login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/mailru
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Mailru from "@auth/core/providers/mailru"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Mailru({ clientId: MAILRU_CLIENT_ID, clientSecret: MAILRU_CLIENT_SECRET }),
20
+ * ],
21
+ * })
22
+ * ```
23
+ *
24
+ * ### Resources
25
+ *
26
+ * - [Mailru OAuth documentation](https://o2.mail.ru/docs)
27
+ * - [Mailru app console](https://o2.mail.ru/app/)
28
+ *
29
+ * ### Notes
30
+ *
31
+ * By default, Auth.js assumes that the Mailru provider is
32
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
33
+ *
34
+ * :::tip
35
+ *
36
+ * The Mailru provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/ma.ts).
37
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
38
+ *
39
+ * :::
40
+ *
41
+ * :::info **Disclaimer**
42
+ *
43
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
44
+ *
45
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
46
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
47
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
48
+ *
49
+ * :::
50
+ */
51
+ export default function Mailru(config) {
52
+ return {
53
+ id: "mailru",
54
+ name: "Mail.ru",
55
+ type: "oauth",
56
+ authorization: "https://oauth.mail.ru/login?scope=userinfo",
57
+ token: "https://oauth.mail.ru/token",
58
+ userinfo: "https://oauth.mail.ru/userinfo",
59
+ options: config,
60
+ };
61
+ }
@@ -0,0 +1,90 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Mastodon</b> integration.</span>
4
+ * <a href="https://mastodon.social">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/mastodon.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/mastodon
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ export interface MastodonProfile extends Record<string, any> {
13
+ id: string;
14
+ username: string;
15
+ acct: string;
16
+ display_name: string;
17
+ locked: boolean;
18
+ bot: boolean;
19
+ created_at: string;
20
+ note: string;
21
+ url: string;
22
+ avatar: string;
23
+ avatar_static: string;
24
+ header: string;
25
+ header_static: string;
26
+ followers_count: number;
27
+ following_count: number;
28
+ statuses_count: number;
29
+ last_status_at: string | null;
30
+ }
31
+ /**
32
+ * Add Mastodon login to your page.
33
+ *
34
+ * ### Setup
35
+ *
36
+ * #### Callback URL
37
+ * ```
38
+ * https://example.com/api/auth/callback/mastodon
39
+ * ```
40
+ *
41
+ * #### Configuration
42
+ *```ts
43
+ * import { Auth } from "@auth/core"
44
+ * import Mastodon from "@auth/core/providers/mastodon"
45
+ *
46
+ * const request = new Request(origin)
47
+ * const response = await Auth(request, {
48
+ * providers: [
49
+ * Mastodon({
50
+ * clientId: MASTODON_CLIENT_ID,
51
+ * clientSecret: MASTODON_CLIENT_SECRET,
52
+ * issuer: MASTODON_ISSUER,
53
+ * }),
54
+ * ],
55
+ * })
56
+ * ```
57
+ *
58
+ * ### Resources
59
+ *
60
+ * - [Mastodon OAuth documentation](https://docs.joinmastodon.org/client/token/)
61
+ * - [Mastodon OAuth Configuration](https://mastodon.social/settings/applications)
62
+ *
63
+ * ### Notes
64
+ *
65
+ * By default, Auth.js assumes that the Mastodon provider is
66
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
67
+ *
68
+ * Due to Mastodons infrastructure beeing a Fediverse you have to define the `issuer` you want to connect to.
69
+ *
70
+ * :::tip
71
+ *
72
+ * The Mastodon provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/mastodon.ts).
73
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
74
+ *
75
+ * :::
76
+ *
77
+ * :::info **Disclaimer**
78
+ *
79
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
80
+ *
81
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
82
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
83
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
84
+ *
85
+ * :::
86
+ */
87
+ export default function Mastodon<P extends MastodonProfile>(options: OAuthUserConfig<P> & {
88
+ issuer: string;
89
+ }): OAuthConfig<P>;
90
+ //# sourceMappingURL=mastodon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mastodon.d.ts","sourceRoot":"","sources":["../src/providers/mastodon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC1D,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,OAAO,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,eAAe,EACxD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf,GACA,WAAW,CAAC,CAAC,CAAC,CAkBhB"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Add Mastodon login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/mastodon
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Mastodon from "@auth/core/providers/mastodon"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Mastodon({
20
+ * clientId: MASTODON_CLIENT_ID,
21
+ * clientSecret: MASTODON_CLIENT_SECRET,
22
+ * issuer: MASTODON_ISSUER,
23
+ * }),
24
+ * ],
25
+ * })
26
+ * ```
27
+ *
28
+ * ### Resources
29
+ *
30
+ * - [Mastodon OAuth documentation](https://docs.joinmastodon.org/client/token/)
31
+ * - [Mastodon OAuth Configuration](https://mastodon.social/settings/applications)
32
+ *
33
+ * ### Notes
34
+ *
35
+ * By default, Auth.js assumes that the Mastodon provider is
36
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
37
+ *
38
+ * Due to Mastodons infrastructure beeing a Fediverse you have to define the `issuer` you want to connect to.
39
+ *
40
+ * :::tip
41
+ *
42
+ * The Mastodon provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/mastodon.ts).
43
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
44
+ *
45
+ * :::
46
+ *
47
+ * :::info **Disclaimer**
48
+ *
49
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
50
+ *
51
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
52
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
53
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
54
+ *
55
+ * :::
56
+ */
57
+ export default function Mastodon(options) {
58
+ return {
59
+ id: "mastodon",
60
+ name: "Mastodon",
61
+ type: "oauth",
62
+ authorization: `${options.issuer}/oauth/authorize?scope=read`,
63
+ token: `${options.issuer}/oauth/token`,
64
+ userinfo: `${options.issuer}/api/v1/accounts/verify_credentials`,
65
+ profile(profile) {
66
+ return {
67
+ id: profile.id,
68
+ name: profile.username,
69
+ image: profile.avatar_static,
70
+ email: null,
71
+ };
72
+ },
73
+ options,
74
+ };
75
+ }
@@ -0,0 +1,132 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Mattermost</b> integration.</span>
4
+ * <a href="https://mattermost.com">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/mattermost.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/mattermost
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./oauth.js";
12
+ /** [Get a user](https://api.mattermost.com/#tag/users/operation/GetUser) */
13
+ export interface MattermostProfile {
14
+ id: string;
15
+ /** The time in milliseconds a user was created */
16
+ create_at: number;
17
+ /** The time in milliseconds a user was last updated */
18
+ update_at: number;
19
+ /** The time in milliseconds a user was deleted */
20
+ delete_at: number;
21
+ username: string;
22
+ auth_data: string;
23
+ auth_service: string;
24
+ email: string;
25
+ email_verified: boolean;
26
+ nickname: string;
27
+ first_name: string;
28
+ last_name: string;
29
+ position: string;
30
+ roles: string;
31
+ notify_props: {
32
+ /** Set to "true" to enable channel-wide notifications (@channel, @all, etc.), "false" to disable. Defaults to "true". */
33
+ channel: string;
34
+ comments: string;
35
+ /** Set to "all" to receive desktop notifications for all activity, "mention" for mentions and direct messages only, and "none" to disable. Defaults to "all". */
36
+ desktop: string;
37
+ /** Set to "true" to enable sound on desktop notifications, "false" to disable. Defaults to "true". */
38
+ desktop_sound: string;
39
+ desktop_threads: string;
40
+ /** Set to "true" to enable email notifications, "false" to disable. Defaults to "true". */
41
+ email: string;
42
+ email_threads: string;
43
+ /** Set to "true" to enable mentions for first name. Defaults to "true" if a first name is set, "false" otherwise. */
44
+ first_name: string;
45
+ /** A comma-separated list of words to count as mentions. Defaults to username and @username. */
46
+ mention_keys: string;
47
+ /** Set to "all" to receive push notifications for all activity, "mention" for mentions and direct messages only, and "none" to disable. Defaults to "mention". */
48
+ push: string;
49
+ push_status: string;
50
+ push_threads: string;
51
+ };
52
+ last_password_update: number;
53
+ locale: string;
54
+ timezone: {
55
+ /** This value is set automatically when the "useAutomaticTimezone" is set to "true". */
56
+ automaticTimezone: string;
57
+ /** Value when setting manually the timezone, i.e. "Europe/Berlin". */
58
+ manualTimezone: string;
59
+ /** Set to "true" to use the browser/system timezone, "false" to set manually. Defaults to "true". */
60
+ useAutomaticTimezone: string;
61
+ };
62
+ disable_welcome_email: boolean;
63
+ /** ID of accepted terms of service, if any. This field is not present if empty. */
64
+ terms_of_service_id?: string;
65
+ /** The time in milliseconds the user accepted the terms of service */
66
+ terms_of_service_create_at?: number;
67
+ }
68
+ /**
69
+ * Add Mattermost login to your page.
70
+ *
71
+ * ### Setup
72
+ *
73
+ * #### Callback URL
74
+ * ```
75
+ * https://example.com/api/auth/callback/mattermost
76
+ * ```
77
+ *
78
+ * #### Configuration
79
+ *```ts
80
+ * import { Auth } from "@auth/core"
81
+ * import Mattermost from "@auth/core/providers/mattermost"
82
+ *
83
+ * const request = new Request(origin)
84
+ * const response = await Auth(request, {
85
+ * providers: [
86
+ * Mattermost({
87
+ * clientId: MATTERMOST_CLIENT_ID,
88
+ * clientSecret: MATTERMOST_CLIENT_SECRET,
89
+ * issuer: MATTERMOST_ISSUER, // The base url of your Mattermost instance. e.g `https://my-cool-server.cloud.mattermost.com`
90
+ * }),
91
+ * ],
92
+ * })
93
+ * ```
94
+ *
95
+ * ### Resources
96
+ *
97
+ * - [Mattermost OAuth documentation](https://example.com)
98
+ *
99
+ * ### Notes
100
+ *
101
+ * By default, Auth.js assumes that the Mattermost provider is
102
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
103
+ *
104
+ * To create your Mattermost OAuth2 app visit `http://<your Mattermost instance url>/<your team>/integrations/oauth2-apps`
105
+ *
106
+ * :::warning
107
+ *
108
+ * The Mattermost provider requires the `issuer` option to be set. This is the base url of your Mattermost instance. e.g https://my-cool-server.cloud.mattermost.com
109
+ *
110
+ * :::
111
+ *
112
+ * :::tip
113
+ *
114
+ * The Mattermost provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/mattermost.ts).
115
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
116
+ *
117
+ * :::
118
+ *
119
+ * :::info **Disclaimer**
120
+ *
121
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
122
+ *
123
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
124
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
125
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
126
+ *
127
+ * :::
128
+ */
129
+ export default function Mattermost<P extends MattermostProfile>(config: OAuthUserConfig<P> & {
130
+ issuer: string;
131
+ }): OAuthConfig<P>;
132
+ //# sourceMappingURL=mattermost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mattermost.d.ts","sourceRoot":"","sources":["../src/providers/mattermost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QACZ,yHAAyH;QACzH,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,iKAAiK;QACjK,OAAO,EAAE,MAAM,CAAA;QACf,sGAAsG;QACtG,aAAa,EAAE,MAAM,CAAA;QACrB,eAAe,EAAE,MAAM,CAAA;QACvB,2FAA2F;QAC3F,KAAK,EAAE,MAAM,CAAA;QACb,aAAa,EAAE,MAAM,CAAA;QACrB,qHAAqH;QACrH,UAAU,EAAE,MAAM,CAAA;QAClB,gGAAgG;QAChG,YAAY,EAAE,MAAM,CAAA;QACpB,kKAAkK;QAClK,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,oBAAoB,EAAE,MAAM,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE;QACR,wFAAwF;QACxF,iBAAiB,EAAE,MAAM,CAAA;QACzB,sEAAsE;QACtE,cAAc,EAAE,MAAM,CAAA;QACtB,qGAAqG;QACrG,oBAAoB,EAAE,MAAM,CAAA;KAC7B,CAAA;IACD,qBAAqB,EAAE,OAAO,CAAA;IAC9B,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sEAAsE;IACtE,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,iBAAiB,EAC5D,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C,WAAW,CAAC,CAAC,CAAC,CAsBhB"}