@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,87 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>SimpleLogin</b> integration.</span>
4
+ * <a href="https://simplelogin.io">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/simplelogin.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/simplelogin
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ export interface SimpleLoginProfile {
13
+ id: number;
14
+ sub: string;
15
+ email: string;
16
+ email_verified: boolean;
17
+ name: string;
18
+ avatar_url: string | undefined;
19
+ client: string;
20
+ }
21
+ /**
22
+ * Add SimpleLogin login to your page.
23
+ *
24
+ * ### Setup
25
+ *
26
+ * #### Callback URL
27
+ * ```
28
+ * https://example.com/api/auth/callback/simplelogin
29
+ * ```
30
+ *
31
+ * #### Configuration
32
+ *```ts
33
+ * import { Auth } from "@auth/core"
34
+ * import SimpleLogin from "@auth/core/providers/simplelogin"
35
+ *
36
+ * const request = new Request(origin)
37
+ * const response = await Auth(request, {
38
+ * providers: [
39
+ * SimpleLogin({
40
+ * clientId: SIMPLELOGIN_CLIENT_ID,
41
+ * clientSecret: SIMPLELOGIN_CLIENT_SECRET,
42
+ * }),
43
+ * ],
44
+ * })
45
+ * ```
46
+ *
47
+ * ### Resources
48
+ *
49
+ * - [Sign in with SimpleLogin](https://simplelogin.io/developer/)
50
+ * - [SimpleLogin OAuth documentation](https://simplelogin.io/docs/siwsl/intro/)
51
+ * - [SimpleLogin OAuth Configuration](https://app.simplelogin.io/developer)
52
+ *
53
+ * ### Notes
54
+ *
55
+ * By default, Auth.js assumes that the SimpleLogin provider is
56
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
57
+ *
58
+ * The "Authorized redirect URIs" used must include your full domain and end in the callback path. By default, SimpleLogin whitelists all `http[s]://localhost:*` address to facilitate local development. For example;
59
+ *
60
+ * - For production: `https://{YOUR_DOMAIN}/api/auth/callback/simplelogin`
61
+ * - For development: By default **localhost** is whitelisted.
62
+ *
63
+ * :::warning
64
+ *
65
+ * **Authorized Redirect URIs** must be **HTTPS** for security reason (except for `localhost`).
66
+ *
67
+ * :::
68
+ *
69
+ * :::tip
70
+ *
71
+ * The SimpleLogin provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/simplelogin.ts).
72
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
73
+ *
74
+ * :::
75
+ *
76
+ * :::info **Disclaimer**
77
+ *
78
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
79
+ *
80
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
81
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
82
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
83
+ *
84
+ * :::
85
+ */
86
+ export default function SimpleLogin<P extends SimpleLoginProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
87
+ //# sourceMappingURL=simplelogin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simplelogin.d.ts","sourceRoot":"","sources":["../src/providers/simplelogin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,SAAS,kBAAkB,EAC9D,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CAiBhB"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Add SimpleLogin login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/simplelogin
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import SimpleLogin from "@auth/core/providers/simplelogin"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * SimpleLogin({
20
+ * clientId: SIMPLELOGIN_CLIENT_ID,
21
+ * clientSecret: SIMPLELOGIN_CLIENT_SECRET,
22
+ * }),
23
+ * ],
24
+ * })
25
+ * ```
26
+ *
27
+ * ### Resources
28
+ *
29
+ * - [Sign in with SimpleLogin](https://simplelogin.io/developer/)
30
+ * - [SimpleLogin OAuth documentation](https://simplelogin.io/docs/siwsl/intro/)
31
+ * - [SimpleLogin OAuth Configuration](https://app.simplelogin.io/developer)
32
+ *
33
+ * ### Notes
34
+ *
35
+ * By default, Auth.js assumes that the SimpleLogin provider is
36
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
37
+ *
38
+ * The "Authorized redirect URIs" used must include your full domain and end in the callback path. By default, SimpleLogin whitelists all `http[s]://localhost:*` address to facilitate local development. For example;
39
+ *
40
+ * - For production: `https://{YOUR_DOMAIN}/api/auth/callback/simplelogin`
41
+ * - For development: By default **localhost** is whitelisted.
42
+ *
43
+ * :::warning
44
+ *
45
+ * **Authorized Redirect URIs** must be **HTTPS** for security reason (except for `localhost`).
46
+ *
47
+ * :::
48
+ *
49
+ * :::tip
50
+ *
51
+ * The SimpleLogin provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/simplelogin.ts).
52
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
53
+ *
54
+ * :::
55
+ *
56
+ * :::info **Disclaimer**
57
+ *
58
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
59
+ *
60
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
61
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
62
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
63
+ *
64
+ * :::
65
+ */
66
+ export default function SimpleLogin(options) {
67
+ return {
68
+ id: "simplelogin",
69
+ name: "SimpleLogin",
70
+ type: "oidc",
71
+ issuer: "https://app.simplelogin.io",
72
+ profile(profile) {
73
+ return {
74
+ id: profile.sub,
75
+ name: profile.name,
76
+ email: profile.email,
77
+ image: profile.avatar_url,
78
+ };
79
+ },
80
+ style: { brandColor: "#e3156a" },
81
+ options,
82
+ };
83
+ }
@@ -0,0 +1,102 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Slack</b> integration.</span>
4
+ * <a href="https://www.slack.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/slack.svg" height="48" />
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/slack
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ export interface SlackProfile extends Record<string, any> {
13
+ ok: boolean;
14
+ sub: string;
15
+ "https://slack.com/user_id": string;
16
+ "https://slack.com/team_id": string;
17
+ email: string;
18
+ email_verified: boolean;
19
+ date_email_verified: number;
20
+ name: string;
21
+ picture: string;
22
+ given_name: string;
23
+ family_name: string;
24
+ locale: string;
25
+ "https://slack.com/team_name": string;
26
+ "https://slack.com/team_domain": string;
27
+ "https://slack.com/user_image_24": string;
28
+ "https://slack.com/user_image_32": string;
29
+ "https://slack.com/user_image_48": string;
30
+ "https://slack.com/user_image_72": string;
31
+ "https://slack.com/user_image_192": string;
32
+ "https://slack.com/user_image_512": string;
33
+ "https://slack.com/user_image_1024": string;
34
+ "https://slack.com/team_image_34": string;
35
+ "https://slack.com/team_image_44": string;
36
+ "https://slack.com/team_image_68": string;
37
+ "https://slack.com/team_image_88": string;
38
+ "https://slack.com/team_image_102": string;
39
+ "https://slack.com/team_image_132": string;
40
+ "https://slack.com/team_image_230": string;
41
+ "https://slack.com/team_image_default": boolean;
42
+ }
43
+ /**
44
+ * Add Slack login to your page.
45
+ *
46
+ * ### Setup
47
+ *
48
+ * #### Callback URL
49
+ * ```
50
+ * https://example.com/api/auth/callback/slack
51
+ * ```
52
+ *
53
+ * #### Configuration
54
+ *```ts
55
+ * import { Auth } from "@auth/core"
56
+ * import Slack from "@auth/core/providers/slack"
57
+ *
58
+ * const request = new Request(origin)
59
+ * const response = await Auth(request, {
60
+ * providers: [
61
+ * Slack({ clientId: SLACK_CLIENT_ID, clientSecret: SLACK_CLIENT_SECRET }),
62
+ * ],
63
+ * })
64
+ * ```
65
+ *
66
+ * ### Resources
67
+ *
68
+ * - [Slack Authentication documentation](https://api.slack.com/authentication)
69
+ * - [Sign-in with Slack](https://api.slack.com/docs/sign-in-with-slack)
70
+ * - [Slack app console](https://api.slack.com/apps)
71
+ *
72
+ * ### Notes
73
+ *
74
+ * By default, Auth.js assumes that the Slack provider is
75
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
76
+ *
77
+ * :::danger
78
+ *
79
+ * Slack requires that the redirect URL of your app uses https, even for local development.
80
+ * An easy workaround for this is using a service like [ngrok](https://ngrok.com/) that creates a secure tunnel to your app, using https. Remember to set the url as `NEXTAUTH_URL` as well.
81
+ *
82
+ * :::
83
+ *
84
+ * :::tip
85
+ *
86
+ * The Slack provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/slack.ts).
87
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
88
+ *
89
+ * :::
90
+ *
91
+ * :::info **Disclaimer**
92
+ *
93
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
94
+ *
95
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
96
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
97
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
98
+ *
99
+ * :::
100
+ */
101
+ export default function Slack<P extends SlackProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
102
+ //# sourceMappingURL=slack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../src/providers/slack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD,EAAE,EAAE,OAAO,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B,EAAE,MAAM,CAAA;IACnC,2BAA2B,EAAE,MAAM,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,6BAA6B,EAAE,MAAM,CAAA;IACrC,+BAA+B,EAAE,MAAM,CAAA;IACvC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iCAAiC,EAAE,MAAM,CAAA;IACzC,kCAAkC,EAAE,MAAM,CAAA;IAC1C,kCAAkC,EAAE,MAAM,CAAA;IAC1C,mCAAmC,EAAE,MAAM,CAAA;IAC3C,iCAAiC,EAAE,MAAM,CAAA;IACzC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iCAAiC,EAAE,MAAM,CAAA;IACzC,kCAAkC,EAAE,MAAM,CAAA;IAC1C,kCAAkC,EAAE,MAAM,CAAA;IAC1C,kCAAkC,EAAE,MAAM,CAAA;IAC1C,sCAAsC,EAAE,OAAO,CAAA;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,SAAS,YAAY,EAClD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CAUhB"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Add Slack login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/slack
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Slack from "@auth/core/providers/slack"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Slack({ clientId: SLACK_CLIENT_ID, clientSecret: SLACK_CLIENT_SECRET }),
20
+ * ],
21
+ * })
22
+ * ```
23
+ *
24
+ * ### Resources
25
+ *
26
+ * - [Slack Authentication documentation](https://api.slack.com/authentication)
27
+ * - [Sign-in with Slack](https://api.slack.com/docs/sign-in-with-slack)
28
+ * - [Slack app console](https://api.slack.com/apps)
29
+ *
30
+ * ### Notes
31
+ *
32
+ * By default, Auth.js assumes that the Slack provider is
33
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
34
+ *
35
+ * :::danger
36
+ *
37
+ * Slack requires that the redirect URL of your app uses https, even for local development.
38
+ * An easy workaround for this is using a service like [ngrok](https://ngrok.com/) that creates a secure tunnel to your app, using https. Remember to set the url as `NEXTAUTH_URL` as well.
39
+ *
40
+ * :::
41
+ *
42
+ * :::tip
43
+ *
44
+ * The Slack provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/slack.ts).
45
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
46
+ *
47
+ * :::
48
+ *
49
+ * :::info **Disclaimer**
50
+ *
51
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
52
+ *
53
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
54
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
55
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
56
+ *
57
+ * :::
58
+ */
59
+ export default function Slack(options) {
60
+ return {
61
+ id: "slack",
62
+ name: "Slack",
63
+ type: "oidc",
64
+ issuer: "https://slack.com",
65
+ checks: ["nonce"],
66
+ style: { brandColor: "#611f69" },
67
+ options,
68
+ };
69
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Spotify</b> integration.</span>
4
+ * <a href="https://www.spotify.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/spotify.svg" height="48" />
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/spotify
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ export interface SpotifyImage {
13
+ url: string;
14
+ }
15
+ export interface SpotifyProfile extends Record<string, any> {
16
+ id: string;
17
+ display_name: string;
18
+ email: string;
19
+ images: SpotifyImage[];
20
+ }
21
+ /**
22
+ * Add Spotify login to your page.
23
+ *
24
+ * ### Setup
25
+ *
26
+ * #### Callback URL
27
+ * ```
28
+ * https://example.com/api/auth/callback/spotify
29
+ * ```
30
+ *
31
+ * #### Configuration
32
+ *```ts
33
+ * import { Auth } from "@auth/core"
34
+ * import Spotify from "@auth/core/providers/spotify"
35
+ *
36
+ * const request = new Request(origin)
37
+ * const response = await Auth(request, {
38
+ * providers: [
39
+ * Spotify({
40
+ * clientId: SPOTIFY_CLIENT_ID,
41
+ * clientSecret: SPOTIFY_CLIENT_SECRET,
42
+ * }),
43
+ * ],
44
+ * })
45
+ * ```
46
+ *
47
+ * ### Resources
48
+ *
49
+ * - [Spotify OAuth documentation](https://developer.spotify.com/documentation/general/guides/authorization-guide)
50
+ * - [Spotify app console](https://developer.spotify.com/dashboard/applications)
51
+ *
52
+ * ### Notes
53
+ *
54
+ * By default, Auth.js assumes that the Spotify provider is
55
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
56
+ *
57
+ * :::tip
58
+ *
59
+ * The Spotify provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/spotify.ts).
60
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
61
+ *
62
+ * :::
63
+ *
64
+ * :::info **Disclaimer**
65
+ *
66
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
67
+ *
68
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
69
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
70
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
71
+ *
72
+ * :::
73
+ */
74
+ export default function Spotify<P extends SpotifyProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
75
+ //# sourceMappingURL=spotify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spotify.d.ts","sourceRoot":"","sources":["../src/providers/spotify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,SAAS,cAAc,EACtD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CAoBhB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Add Spotify login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/spotify
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Spotify from "@auth/core/providers/spotify"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Spotify({
20
+ * clientId: SPOTIFY_CLIENT_ID,
21
+ * clientSecret: SPOTIFY_CLIENT_SECRET,
22
+ * }),
23
+ * ],
24
+ * })
25
+ * ```
26
+ *
27
+ * ### Resources
28
+ *
29
+ * - [Spotify OAuth documentation](https://developer.spotify.com/documentation/general/guides/authorization-guide)
30
+ * - [Spotify app console](https://developer.spotify.com/dashboard/applications)
31
+ *
32
+ * ### Notes
33
+ *
34
+ * By default, Auth.js assumes that the Spotify provider is
35
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
36
+ *
37
+ * :::tip
38
+ *
39
+ * The Spotify provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/spotify.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 Spotify(options) {
55
+ return {
56
+ id: "spotify",
57
+ name: "Spotify",
58
+ type: "oauth",
59
+ authorization: "https://accounts.spotify.com/authorize?scope=user-read-email",
60
+ token: "https://accounts.spotify.com/api/token",
61
+ userinfo: "https://api.spotify.com/v1/me",
62
+ profile(profile) {
63
+ return {
64
+ id: profile.id,
65
+ name: profile.display_name,
66
+ email: profile.email,
67
+ image: profile.images?.[0]?.url,
68
+ };
69
+ },
70
+ style: { brandColor: "#1db954" },
71
+ options,
72
+ };
73
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Strava</b> integration.</span>
4
+ * <a href="https://www.strava.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/strava.svg" height="48" />
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/strava
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ export interface StravaProfile extends Record<string, any> {
13
+ id: string;
14
+ firstname: string;
15
+ lastname: string;
16
+ profile: string;
17
+ }
18
+ /**
19
+ * Add Strava login to your page.
20
+ *
21
+ * ### Setup
22
+ *
23
+ * #### Callback URL
24
+ * ```
25
+ * https://example.com/api/auth/callback/strava
26
+ * ```
27
+ *
28
+ * #### Configuration
29
+ *```ts
30
+ * import { Auth } from "@auth/core"
31
+ * import Strava from "@auth/core/providers/strava"
32
+ *
33
+ * const request = new Request(origin)
34
+ * const response = await Auth(request, {
35
+ * providers: [
36
+ * Strava({ clientId: STRAVA_CLIENT_ID, clientSecret: STRAVA_CLIENT_SECRET }),
37
+ * ],
38
+ * })
39
+ * ```
40
+ *
41
+ * ### Resources
42
+ *
43
+ * - [Strava API documentation](http://developers.strava.com/docs/reference/)
44
+ *
45
+ * ### Notes
46
+ *
47
+ * By default, Auth.js assumes that the Strava provider is
48
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
49
+ *
50
+ * :::tip
51
+ *
52
+ * The Strava provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/strava.ts).
53
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
54
+ *
55
+ * :::
56
+ *
57
+ * :::info **Disclaimer**
58
+ *
59
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
60
+ *
61
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
62
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
63
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
64
+ *
65
+ * :::
66
+ */
67
+ export default function Strava<P extends StravaProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
68
+ //# sourceMappingURL=strava.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strava.d.ts","sourceRoot":"","sources":["../src/providers/strava.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACxD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC,SAAS,aAAa,EACpD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CA8BhB"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Add Strava login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/strava
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Strava from "@auth/core/providers/strava"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Strava({ clientId: STRAVA_CLIENT_ID, clientSecret: STRAVA_CLIENT_SECRET }),
20
+ * ],
21
+ * })
22
+ * ```
23
+ *
24
+ * ### Resources
25
+ *
26
+ * - [Strava API documentation](http://developers.strava.com/docs/reference/)
27
+ *
28
+ * ### Notes
29
+ *
30
+ * By default, Auth.js assumes that the Strava provider is
31
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
32
+ *
33
+ * :::tip
34
+ *
35
+ * The Strava provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/strava.ts).
36
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
37
+ *
38
+ * :::
39
+ *
40
+ * :::info **Disclaimer**
41
+ *
42
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
43
+ *
44
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
45
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
46
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
47
+ *
48
+ * :::
49
+ */
50
+ export default function Strava(options) {
51
+ return {
52
+ id: "strava",
53
+ name: "Strava",
54
+ type: "oauth",
55
+ authorization: {
56
+ url: "https://www.strava.com/api/v3/oauth/authorize",
57
+ params: {
58
+ scope: "read",
59
+ approval_prompt: "auto",
60
+ response_type: "code",
61
+ },
62
+ },
63
+ token: {
64
+ url: "https://www.strava.com/api/v3/oauth/token",
65
+ },
66
+ userinfo: "https://www.strava.com/api/v3/athlete",
67
+ client: {
68
+ token_endpoint_auth_method: "client_secret_post",
69
+ },
70
+ profile(profile) {
71
+ return {
72
+ id: profile.id,
73
+ name: `${profile.firstname} ${profile.lastname}`,
74
+ email: null,
75
+ image: profile.profile,
76
+ };
77
+ },
78
+ options,
79
+ };
80
+ }