@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,102 @@
1
+ /**
2
+ * <div class="provider" style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
3
+ * <span style={{fontSize: "1.35rem" }}>
4
+ * Built-in sign in with <b>Asgardeo</b> integration.
5
+ * </span>
6
+ * <a href="https://wso2.com/asgardeo/" style={{backgroundColor: "#ECEFF1", padding: "12px", borderRadius: "100%" }}>
7
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo.svg" width="24"/>
8
+ * </a>
9
+ * </div>
10
+ *
11
+ * @module providers/asgardeo
12
+ */
13
+ import type { OIDCConfig, OIDCUserConfig } from "./index.js";
14
+ /** The returned user profile from Asgardeo when using the profile callback. */
15
+ export interface AsgardeoProfile extends Record<string, any> {
16
+ /**
17
+ * The user Asgardeo account ID
18
+ */
19
+ sub: string;
20
+ /**
21
+ * The user name
22
+ */
23
+ given_name: string;
24
+ /**
25
+ * The user email
26
+ */
27
+ email: string;
28
+ /**
29
+ * The user profile picture
30
+ */
31
+ picture: string;
32
+ }
33
+ /**
34
+ *
35
+ * ### Setup
36
+ *
37
+ * #### Callback URL
38
+ * ```
39
+ * https://example.com/api/auth/callback/asgardeo
40
+ * ```
41
+ *
42
+ * #### Configuration
43
+ *```ts
44
+ * import { Auth } from "@auth/core"
45
+ * import Asgardeo from "@auth/core/providers/asgardeo";
46
+ *
47
+ * const request = new Request(origin)
48
+ * const response = await Auth(request, {
49
+ * providers: [
50
+ * Asgardeo({
51
+ * clientId: ASGARDEO_CLIENT_ID,
52
+ * clientSecret: ASGARDEO_CLIENT_SECRET,
53
+ * issuer: ASGARDEO_ISSUER,
54
+ * }),
55
+ * ],
56
+ * })
57
+ * ```
58
+ *
59
+ * ### Configuring Asgardeo
60
+ *
61
+ * Follow these steps:
62
+ *
63
+ * 1. Log into the [Asgardeo console](https://console.asgardeo.io)
64
+ * 2. Next, go to "Application" tab (more info [here](https://wso2.com/asgardeo/docs/guides/applications/register-oidc-web-app/))
65
+ * 3. Register a standard based, Open ID connect, application
66
+ * 4. Add the **callback URLs**: `http://localhost:3000/api/auth/callback/asgardeo` (development) and `https://{YOUR_DOMAIN}.com/api/auth/callback/asgardeo` (production)
67
+ * 5. After registering the application, go to "Protocol" tab.
68
+ * 6. Check `code` as the grant type.
69
+ * 7. Add "Authorized redirect URLs" & "Allowed origins fields"
70
+ * 8. Make Email, First Name, Photo URL user attributes mandatory from the console.
71
+ *
72
+ * Then, create a `.env` file in the project root add the following entries:
73
+ *
74
+ * ```
75
+ * ASGARDEO_CLIENT_ID="Copy client ID from protocol tab here"
76
+ * ASGARDEO_CLIENT_SECRET="Copy client from protocol tab here"
77
+ * ASGARDEO_ISSUER="Copy the issuer url from the info tab here"
78
+ * ```
79
+ *
80
+ * ### Resources
81
+ *
82
+ * - [Asgardeo - Authentication Guide](https://wso2.com/asgardeo/docs/guides/authentication)
83
+ * - [Learn more about OAuth](https://authjs.dev/concepts/oauth)
84
+ *
85
+ * ### Notes
86
+ *
87
+ * The Asgardeo provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/asgardeo.ts). 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
+ * :::info
90
+ * By default, Auth.js assumes that the Asgardeo provider is based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) spec
91
+ * :::
92
+ *
93
+ * ## Help
94
+ *
95
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
96
+ *
97
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
98
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
99
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
100
+ */
101
+ export default function Asgardeo(config: OIDCUserConfig<AsgardeoProfile>): OIDCConfig<AsgardeoProfile>;
102
+ //# sourceMappingURL=asgardeo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asgardeo.d.ts","sourceRoot":"","sources":["../src/providers/asgardeo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D,+EAA+E;AAC/E,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC1D;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,GACtC,UAAU,CAAC,eAAe,CAAC,CAY7B"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * <div class="provider" style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
3
+ * <span style={{fontSize: "1.35rem" }}>
4
+ * Built-in sign in with <b>Asgardeo</b> integration.
5
+ * </span>
6
+ * <a href="https://wso2.com/asgardeo/" style={{backgroundColor: "#ECEFF1", padding: "12px", borderRadius: "100%" }}>
7
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/asgardeo.svg" width="24"/>
8
+ * </a>
9
+ * </div>
10
+ *
11
+ * @module providers/asgardeo
12
+ */
13
+ /**
14
+ *
15
+ * ### Setup
16
+ *
17
+ * #### Callback URL
18
+ * ```
19
+ * https://example.com/api/auth/callback/asgardeo
20
+ * ```
21
+ *
22
+ * #### Configuration
23
+ *```ts
24
+ * import { Auth } from "@auth/core"
25
+ * import Asgardeo from "@auth/core/providers/asgardeo";
26
+ *
27
+ * const request = new Request(origin)
28
+ * const response = await Auth(request, {
29
+ * providers: [
30
+ * Asgardeo({
31
+ * clientId: ASGARDEO_CLIENT_ID,
32
+ * clientSecret: ASGARDEO_CLIENT_SECRET,
33
+ * issuer: ASGARDEO_ISSUER,
34
+ * }),
35
+ * ],
36
+ * })
37
+ * ```
38
+ *
39
+ * ### Configuring Asgardeo
40
+ *
41
+ * Follow these steps:
42
+ *
43
+ * 1. Log into the [Asgardeo console](https://console.asgardeo.io)
44
+ * 2. Next, go to "Application" tab (more info [here](https://wso2.com/asgardeo/docs/guides/applications/register-oidc-web-app/))
45
+ * 3. Register a standard based, Open ID connect, application
46
+ * 4. Add the **callback URLs**: `http://localhost:3000/api/auth/callback/asgardeo` (development) and `https://{YOUR_DOMAIN}.com/api/auth/callback/asgardeo` (production)
47
+ * 5. After registering the application, go to "Protocol" tab.
48
+ * 6. Check `code` as the grant type.
49
+ * 7. Add "Authorized redirect URLs" & "Allowed origins fields"
50
+ * 8. Make Email, First Name, Photo URL user attributes mandatory from the console.
51
+ *
52
+ * Then, create a `.env` file in the project root add the following entries:
53
+ *
54
+ * ```
55
+ * ASGARDEO_CLIENT_ID="Copy client ID from protocol tab here"
56
+ * ASGARDEO_CLIENT_SECRET="Copy client from protocol tab here"
57
+ * ASGARDEO_ISSUER="Copy the issuer url from the info tab here"
58
+ * ```
59
+ *
60
+ * ### Resources
61
+ *
62
+ * - [Asgardeo - Authentication Guide](https://wso2.com/asgardeo/docs/guides/authentication)
63
+ * - [Learn more about OAuth](https://authjs.dev/concepts/oauth)
64
+ *
65
+ * ### Notes
66
+ *
67
+ * The Asgardeo provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/asgardeo.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
68
+ *
69
+ * :::info
70
+ * By default, Auth.js assumes that the Asgardeo provider is based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) spec
71
+ * :::
72
+ *
73
+ * ## Help
74
+ *
75
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
76
+ *
77
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
78
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
79
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
80
+ */
81
+ export default function Asgardeo(config) {
82
+ return {
83
+ id: "asgardeo",
84
+ name: "Asgardeo",
85
+ type: "oidc",
86
+ wellKnown: `${config?.issuer}/oauth2/token/.well-known/openid-configuration`,
87
+ style: {
88
+ bg: "#000",
89
+ text: "#fff",
90
+ },
91
+ options: config,
92
+ };
93
+ }
@@ -0,0 +1,94 @@
1
+ /**
2
+ * <div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
3
+ * <span style={{fontSize: "1.35rem" }}>
4
+ * Built-in sign in with <b>Atlassian</b> integration.
5
+ * </span>
6
+ * <a href="https://www.atlassian.com/" style={{backgroundColor: "black", padding: "12px", borderRadius: "100%" }}>
7
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/atlassian.svg" width="24" style={{ marginTop: "-3px"}} />
8
+ * </a>
9
+ * </div>
10
+ *
11
+ * @module providers/atlassian
12
+ */
13
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
14
+ /** The returned user profile from Atlassian when using the profile callback. */
15
+ export interface AtlassianProfile extends Record<string, any> {
16
+ /**
17
+ * The user's atlassian account ID
18
+ */
19
+ account_id: string;
20
+ /**
21
+ * The user name
22
+ */
23
+ name: string;
24
+ /**
25
+ * The user's email
26
+ */
27
+ email: string;
28
+ /**
29
+ * The user's profile picture
30
+ */
31
+ picture: string;
32
+ }
33
+ /**
34
+ * ### Setup
35
+ *
36
+ * #### Callback URL
37
+ * ```
38
+ * https://example.com/api/auth/callback/atlassian
39
+ * ```
40
+ *
41
+ * #### Configuration
42
+ *
43
+ * Import the provider and configure it in your **Auth.js** initialization file:
44
+ *
45
+ * ```ts
46
+ * import Atlassian from "@auth/core/providers/atlassian"
47
+ * ...
48
+ * providers: [
49
+ * Atlassian({
50
+ * clientId: env.AUTH_ATLASSIAN_ID,
51
+ * clientSecret: env.AUTH_ATLASSIAN_SECRET,
52
+ * }),
53
+ * ]
54
+ * ...
55
+ * ```
56
+ *
57
+ * ### Configuring Atlassian
58
+ *
59
+ * Follow these steps:
60
+ *
61
+ * 1. From any page on [developer.atlassian.com](https://developer.atlassian.com), select your profile icon in the top-right corner, and from the dropdown, select **Developer console**.
62
+ * 2. Select your app from the list (or create one if you don't already have one)
63
+ * 3. Select **Authorization** in the left menu
64
+ * 4. Next to OAuth 2.0 (3LO), select **Configure** (or **Add** for newly created app)
65
+ * 5. Enter the **Callback URL**: `https://{YOUR_DOMAIN}/api/auth/callback/atlassian`
66
+ * 6. Click Save changes
67
+ * 7. Select **Settings** in the left menu
68
+ * 8. Access and copy your app's **Client ID** and **Secret**
69
+ *
70
+ * Then, create a `.env` file in the project root add the following entries:
71
+ *
72
+ * ```
73
+ * AUTH_ATLASSIAN_ID=<Client ID copied in step 8>
74
+ * AUTH_ATLASSIAN_SECRET=<Secret copied in step 8>
75
+ * ```
76
+ *
77
+ * ### Resources
78
+ *
79
+ * - [Atlassian docs](https://developer.atlassian.com/cloud/jira/software/oauth-2-3lo-apps/)
80
+ *
81
+ * ### Notes
82
+ *
83
+ * The Atlassian provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/atlassian.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/providers/custom-provider#override-default-options).
84
+ *
85
+ * ## Help
86
+ *
87
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
88
+ *
89
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
90
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
91
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
92
+ */
93
+ export default function Atlassian(options: OAuthUserConfig<AtlassianProfile>): OAuthConfig<AtlassianProfile>;
94
+ //# sourceMappingURL=atlassian.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlassian.d.ts","sourceRoot":"","sources":["../src/providers/atlassian.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,gFAAgF;AAChF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3D;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,GACzC,WAAW,CAAC,gBAAgB,CAAC,CAuB/B"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * ### Setup
3
+ *
4
+ * #### Callback URL
5
+ * ```
6
+ * https://example.com/api/auth/callback/atlassian
7
+ * ```
8
+ *
9
+ * #### Configuration
10
+ *
11
+ * Import the provider and configure it in your **Auth.js** initialization file:
12
+ *
13
+ * ```ts
14
+ * import Atlassian from "@auth/core/providers/atlassian"
15
+ * ...
16
+ * providers: [
17
+ * Atlassian({
18
+ * clientId: env.AUTH_ATLASSIAN_ID,
19
+ * clientSecret: env.AUTH_ATLASSIAN_SECRET,
20
+ * }),
21
+ * ]
22
+ * ...
23
+ * ```
24
+ *
25
+ * ### Configuring Atlassian
26
+ *
27
+ * Follow these steps:
28
+ *
29
+ * 1. From any page on [developer.atlassian.com](https://developer.atlassian.com), select your profile icon in the top-right corner, and from the dropdown, select **Developer console**.
30
+ * 2. Select your app from the list (or create one if you don't already have one)
31
+ * 3. Select **Authorization** in the left menu
32
+ * 4. Next to OAuth 2.0 (3LO), select **Configure** (or **Add** for newly created app)
33
+ * 5. Enter the **Callback URL**: `https://{YOUR_DOMAIN}/api/auth/callback/atlassian`
34
+ * 6. Click Save changes
35
+ * 7. Select **Settings** in the left menu
36
+ * 8. Access and copy your app's **Client ID** and **Secret**
37
+ *
38
+ * Then, create a `.env` file in the project root add the following entries:
39
+ *
40
+ * ```
41
+ * AUTH_ATLASSIAN_ID=<Client ID copied in step 8>
42
+ * AUTH_ATLASSIAN_SECRET=<Secret copied in step 8>
43
+ * ```
44
+ *
45
+ * ### Resources
46
+ *
47
+ * - [Atlassian docs](https://developer.atlassian.com/cloud/jira/software/oauth-2-3lo-apps/)
48
+ *
49
+ * ### Notes
50
+ *
51
+ * The Atlassian provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/atlassian.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/providers/custom-provider#override-default-options).
52
+ *
53
+ * ## Help
54
+ *
55
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
56
+ *
57
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
58
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
59
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
60
+ */
61
+ export default function Atlassian(options) {
62
+ return {
63
+ id: "atlassian",
64
+ name: "Atlassian",
65
+ type: "oauth",
66
+ authorization: {
67
+ url: "https://auth.atlassian.com/authorize",
68
+ params: { audience: "api.atlassian.com", scope: "read:me" },
69
+ },
70
+ token: "https://auth.atlassian.com/oauth/token",
71
+ userinfo: "https://api.atlassian.com/me",
72
+ profile(profile) {
73
+ return {
74
+ id: profile.account_id,
75
+ name: profile.name,
76
+ email: profile.email,
77
+ image: profile.picture,
78
+ };
79
+ },
80
+ checks: ["state"],
81
+ style: { bg: "#fff", text: "#0052cc" },
82
+ options,
83
+ };
84
+ }
@@ -0,0 +1,116 @@
1
+ /**
2
+ * <div class="provider" style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
3
+ * <span style={{fontSize: "1.35rem" }}>
4
+ * Built-in sign in with <b>Auth0</b> integration.
5
+ * </span>
6
+ * <a href="https://auth0.com" style={{backgroundColor: "black", padding: "12px", borderRadius: "100%" }}>
7
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/auth0.svg" width="24"/>
8
+ * </a>
9
+ * </div>
10
+ *
11
+ * @module providers/auth0
12
+ */
13
+ import type { OIDCConfig, OIDCUserConfig } from "./index.js";
14
+ /** The returned user profile from Auth0 when using the profile callback. [Reference](https://auth0.com/docs/manage-users/user-accounts/user-profiles/user-profile-structure). */
15
+ export interface Auth0Profile extends Record<string, any> {
16
+ /** The user's unique identifier. */
17
+ sub: string;
18
+ /** Custom fields that store info about a user that influences the user's access, such as support plan, security roles (if not using the Authorization Core feature set), or access control groups. To learn more, read Metadata Overview. */
19
+ app_metadata: object;
20
+ /** Indicates whether the user has been blocked. Importing enables subscribers to ensure that users remain blocked when migrating to Auth0. */
21
+ blocked: boolean;
22
+ /** Timestamp indicating when the user profile was first created. */
23
+ created_at: Date;
24
+ /** (unique) The user's email address. */
25
+ email: string;
26
+ /** Indicates whether the user has verified their email address. */
27
+ email_verified: boolean;
28
+ /** The user's family name. */
29
+ family_name: string;
30
+ /** The user's given name. */
31
+ given_name: string;
32
+ /** Custom fields that store info about a user that does not impact what they can or cannot access, such as work address, home address, or user preferences. To learn more, read Metadata Overview. */
33
+ user_metadata: object;
34
+ /** (unique) The user's username. */
35
+ username: string;
36
+ /** Contains info retrieved from the identity provider with which the user originally authenticates. Users may also link their profile to multiple identity providers; those identities will then also appear in this array. The contents of an individual identity provider object varies by provider. In some cases, it will also include an API Access Token to be used with the provider. */
37
+ identities: Array<{
38
+ /** Name of the Auth0 connection used to authenticate the user. */
39
+ connection: string;
40
+ /** Indicates whether the connection is a social one. */
41
+ isSocial: boolean;
42
+ /** Name of the entity that is authenticating the user, such as Facebook, Google, SAML, or your own provider. */
43
+ provider: string;
44
+ /** User's unique identifier for this connection/provider. */
45
+ user_id: string;
46
+ /** User info associated with the connection. When profiles are linked, it is populated with the associated user info for secondary accounts. */
47
+ profileData: object;
48
+ [key: string]: any;
49
+ }>;
50
+ /** IP address associated with the user's last login. */
51
+ last_ip: string;
52
+ /** Timestamp indicating when the user last logged in. If a user is blocked and logs in, the blocked session updates last_login. If you are using this property from inside a Rule using the user< object, its value will be associated with the login that triggered the rule; this is because rules execute after login. */
53
+ last_login: Date;
54
+ /** Timestamp indicating the last time the user's password was reset/changed. At user creation, this field does not exist. This property is only available for Database connections. */
55
+ last_password_reset: Date;
56
+ /** Number of times the user has logged in. If a user is blocked and logs in, the blocked session is counted in logins_count. */
57
+ logins_count: number;
58
+ /** List of multi-factor providers with which the user is enrolled. */
59
+ multifactor: string;
60
+ /** The user's full name. */
61
+ name: string;
62
+ /** The user's nickname. */
63
+ nickname: string;
64
+ /** The user's phone number. Only valid for users with SMS connections. */
65
+ phone_number: string;
66
+ /** Indicates whether the user has been verified their phone number. Only valid for users with SMS connections. */
67
+ phone_verified: boolean;
68
+ /** URL pointing to the user's profile picture. */
69
+ picture: string;
70
+ /** Timestamp indicating when the user's profile was last updated/modified. Changes to last_login are considered updates, so most of the time, updated_at will match last_login. */
71
+ updated_at: Date;
72
+ /** (unique) The user's identifier. Importing allows user records to be synchronized across multiple systems without using mapping tables. */
73
+ user_id: string;
74
+ }
75
+ /**
76
+ * ### Setup
77
+ *
78
+ * #### Callback URL
79
+ * ```
80
+ * https://example.com/api/auth/callback/auth0
81
+ * ```
82
+ *
83
+ * #### Configuration
84
+ * ```ts
85
+ * import { Auth } from "@auth/core"
86
+ * import Auth0 from "@auth/core/providers/auth0"
87
+ *
88
+ * const request = new Request(origin)
89
+ * const response = await Auth(request, {
90
+ * providers: [
91
+ * Auth0({
92
+ * clientId: AUTH0_ID,
93
+ * clientSecret: AUTH0_SECRET,
94
+ * }),
95
+ * ],
96
+ * })
97
+ * ```
98
+ *
99
+ * ### Resources
100
+ *
101
+ * - [Auth0 docs](https://auth0.com/docs/authenticate)
102
+ *
103
+ * ### Notes
104
+ *
105
+ * The Auth0 provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/auth0.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
106
+ *
107
+ * ## Help
108
+ *
109
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
110
+ *
111
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
112
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
113
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
114
+ */
115
+ export default function Auth0(config: OIDCUserConfig<Auth0Profile>): OIDCConfig<Auth0Profile>;
116
+ //# sourceMappingURL=auth0.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth0.d.ts","sourceRoot":"","sources":["../src/providers/auth0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D,iLAAiL;AACjL,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,6OAA6O;IAC7O,YAAY,EAAE,MAAM,CAAA;IACpB,8IAA8I;IAC9I,OAAO,EAAE,OAAO,CAAA;IAChB,oEAAoE;IACpE,UAAU,EAAE,IAAI,CAAA;IAChB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAA;IACvB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,sMAAsM;IACtM,aAAa,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,gYAAgY;IAChY,UAAU,EAAE,KAAK,CAAC;QAChB,kEAAkE;QAClE,UAAU,EAAE,MAAM,CAAA;QAClB,wDAAwD;QACxD,QAAQ,EAAE,OAAO,CAAA;QACjB,gHAAgH;QAChH,QAAQ,EAAE,MAAM,CAAA;QAChB,6DAA6D;QAC7D,OAAO,EAAE,MAAM,CAAA;QACf,gJAAgJ;QAChJ,WAAW,EAAE,MAAM,CAAA;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAC,CAAA;IACF,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAA;IACf,6TAA6T;IAC7T,UAAU,EAAE,IAAI,CAAA;IAChB,uLAAuL;IACvL,mBAAmB,EAAE,IAAI,CAAA;IACzB,gIAAgI;IAChI,YAAY,EAAE,MAAM,CAAA;IACpB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAA;IACpB,kHAAkH;IAClH,cAAc,EAAE,OAAO,CAAA;IACvB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,mLAAmL;IACnL,UAAU,EAAE,IAAI,CAAA;IAChB,6IAA6I;IAC7I,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC,GACnC,UAAU,CAAC,YAAY,CAAC,CAQ1B"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * ### Setup
3
+ *
4
+ * #### Callback URL
5
+ * ```
6
+ * https://example.com/api/auth/callback/auth0
7
+ * ```
8
+ *
9
+ * #### Configuration
10
+ * ```ts
11
+ * import { Auth } from "@auth/core"
12
+ * import Auth0 from "@auth/core/providers/auth0"
13
+ *
14
+ * const request = new Request(origin)
15
+ * const response = await Auth(request, {
16
+ * providers: [
17
+ * Auth0({
18
+ * clientId: AUTH0_ID,
19
+ * clientSecret: AUTH0_SECRET,
20
+ * }),
21
+ * ],
22
+ * })
23
+ * ```
24
+ *
25
+ * ### Resources
26
+ *
27
+ * - [Auth0 docs](https://auth0.com/docs/authenticate)
28
+ *
29
+ * ### Notes
30
+ *
31
+ * The Auth0 provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/auth0.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
32
+ *
33
+ * ## Help
34
+ *
35
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
36
+ *
37
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
38
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
39
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
40
+ */
41
+ export default function Auth0(config) {
42
+ return {
43
+ id: "auth0",
44
+ name: "Auth0",
45
+ type: "oidc",
46
+ style: { text: "#fff", bg: "#EB5424" },
47
+ options: config,
48
+ };
49
+ }
@@ -0,0 +1,90 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#fd4b2d", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Authentik</b> integration.</span>
4
+ * <a href="https://goauthentik.io/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/authentik.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/authentik
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ export interface AuthentikProfile extends Record<string, any> {
13
+ iss: string;
14
+ sub: string;
15
+ aud: string;
16
+ exp: number;
17
+ iat: number;
18
+ auth_time: number;
19
+ acr: string;
20
+ c_hash: string;
21
+ nonce: string;
22
+ at_hash: string;
23
+ email: string;
24
+ email_verified: boolean;
25
+ name: string;
26
+ given_name: string;
27
+ family_name: string;
28
+ preferred_username: string;
29
+ nickname: string;
30
+ groups: string[];
31
+ }
32
+ /**
33
+ * Add Authentik login to your page.
34
+ *
35
+ * ### Setup
36
+ *
37
+ * #### Callback URL
38
+ * ```
39
+ * https://example.com/api/auth/callback/authentik
40
+ * ```
41
+ *
42
+ * #### Configuration
43
+ *```ts
44
+ * import { Auth } from "@auth/core"
45
+ * import Authentik from "@auth/core/providers/authentik"
46
+ *
47
+ * const request = new Request(origin)
48
+ * const response = await Auth(request, {
49
+ * providers: [
50
+ * Authentik({
51
+ * clientId: AUTHENTIK_CLIENT_ID,
52
+ * clientSecret: AUTHENTIK_CLIENT_SECRET,
53
+ * issuer: AUTHENTIK_ISSUER,
54
+ * }),
55
+ * ],
56
+ * })
57
+ * ```
58
+ *
59
+ * :::note
60
+ * issuer should include the slug without a trailing slash – e.g., https://my-authentik-domain.com/application/o/My_Slug
61
+ * :::
62
+ *
63
+ * ### Resources
64
+ *
65
+ * - [Authentik OAuth documentation](https://goauthentik.io/docs/providers/oauth2)
66
+ *
67
+ * ### Notes
68
+ *
69
+ * By default, Auth.js assumes that the Authentik provider is
70
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
71
+ *
72
+ * :::tip
73
+ *
74
+ * The Authentik provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/authentik.ts).
75
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
76
+ *
77
+ * :::
78
+ *
79
+ * :::info **Disclaimer**
80
+ *
81
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
82
+ *
83
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
84
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
85
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
86
+ *
87
+ * :::
88
+ */
89
+ export default function Authentik<P extends AuthentikProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
90
+ //# sourceMappingURL=authentik.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentik.d.ts","sourceRoot":"","sources":["../src/providers/authentik.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3D,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,SAAS,gBAAgB,EAC1D,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CAOhB"}