@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,216 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#fff", display: "flex", justifyContent: "space-between", color: "#000", padding: 16}}>
3
+ * <span>Built-in <b>Hugging Face</b> integration.</span>
4
+ * <a href="https://huggingface.co">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/huggingface.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/huggingface
10
+ */
11
+ import type { OIDCConfig, OIDCUserConfig } from "./index.js";
12
+ export interface HuggingfaceProfile {
13
+ /**
14
+ * Unique identifier for the user.
15
+ */
16
+ sub: string;
17
+ /**
18
+ * Full name of the user.
19
+ *
20
+ * Needs 'profile' scope
21
+ */
22
+ name?: string;
23
+ /**
24
+ * Username of the user.
25
+ *
26
+ * Need 'profile' scope
27
+ */
28
+ preferred_username?: string;
29
+ /**
30
+ * URL of the user's avatar.
31
+ *
32
+ * Need 'profile' scope
33
+ */
34
+ profile?: string;
35
+ /**
36
+ * URL of the user's profile picture.
37
+ *
38
+ * Need 'profile' scope
39
+ */
40
+ picture?: string;
41
+ /**
42
+ * Need 'profile' scope
43
+ *
44
+ * Website of the user.
45
+ */
46
+ website?: string;
47
+ /**
48
+ * Need 'email' scope
49
+ *
50
+ * Email address of the user.
51
+ */
52
+ email?: string;
53
+ /**
54
+ * Need 'email' scope
55
+ *
56
+ * Whether the user's email address is verified. Should always be true, Hugging Face enforces
57
+ * email verification for users to grant access to OAuth apps.
58
+ */
59
+ email_verified?: boolean;
60
+ /**
61
+ * Whether the user has a paid subscription.
62
+ */
63
+ isPro: boolean;
64
+ /**
65
+ * Whether the user has a payment method set up.
66
+ *
67
+ * Needs the `read-billing` scope.
68
+ */
69
+ canPay?: boolean;
70
+ /**
71
+ * List of the user's organizations.
72
+ */
73
+ orgs: Array<{
74
+ /**
75
+ * Unique identifier for the organization.
76
+ */
77
+ sub: string;
78
+ /**
79
+ * Name of the organization.
80
+ */
81
+ name: string;
82
+ /**
83
+ * URL of the organization's avatar.
84
+ */
85
+ picture: string;
86
+ /**
87
+ * Username of the organization.
88
+ */
89
+ preferred_username: string;
90
+ /**
91
+ * Whether the organization has a paid enterprise subscription.
92
+ */
93
+ isEnterprise: boolean;
94
+ /**
95
+ * Whether the organization has a payment method set up.
96
+ *
97
+ * Access to the organization needs to be granted to the oauth app for this field to be present.
98
+ */
99
+ canPay?: boolean;
100
+ /**
101
+ * The role of the user in the organization.
102
+ *
103
+ * Access to the organization needs to be granted to the oauth app for this field to be present.
104
+ */
105
+ roleInOrg?: "admin" | "write" | "read" | "contributor";
106
+ /**
107
+ * User needs to re-authenticate to access the organization.
108
+ *
109
+ * Access to the organization needs to be granted to the oauth app for this field to be present.
110
+ */
111
+ pendingSSO?: boolean;
112
+ /**
113
+ * User needs to enable MFA to access the organization.
114
+ *
115
+ * Access to the organization needs to be granted to the oauth app for this field to be present.
116
+ */
117
+ missingMFA?: boolean;
118
+ /**
119
+ * Resource groups are a feature of enterprise organizations.
120
+ *
121
+ * They allow granular access control to resources within the organization.
122
+ *
123
+ * Access to the organization needs to be granted to the oauth app for this field to be present.
124
+ */
125
+ resourceGroups?: Array<{
126
+ /**
127
+ * Unique identifier for the resource group.
128
+ */
129
+ sub: string;
130
+ name: string;
131
+ /**
132
+ * The role of the user in the resource group.
133
+ */
134
+ role: "read" | "write" | "admin" | "contributor";
135
+ }>;
136
+ }>;
137
+ }
138
+ /**
139
+ * Add HuggingFace login to your page.
140
+ *
141
+ * ### Setup
142
+ *
143
+ * #### Callback URL
144
+ * ```
145
+ * https://example.com/api/auth/callback/huggingface
146
+ * ```
147
+ *
148
+ * #### Configuration
149
+ *```ts
150
+ * import { Auth } from "@auth/core"
151
+ * import HuggingFace from "@auth/core/providers/huggingface"
152
+ *
153
+ * const request = new Request(origin)
154
+ * const response = await Auth(request, {
155
+ * providers: [
156
+ * HuggingFace({
157
+ * clientId: HUGGINGFACE_CLIENT_ID,
158
+ * clientSecret: HUGGINGFACE_CLIENT_SECRET,
159
+ * authorization: {
160
+ * params: {
161
+ * scope: "openid profile email", // specify the scopes you need
162
+ * // orgIds: "unique_org_id" // If your oauth app needs access to a specific organization of the user
163
+ * }
164
+ * },
165
+ * }),
166
+ * ],
167
+ * })
168
+ * ```
169
+ *
170
+ * The following scopes are available:
171
+ *
172
+ * - `openid`: Grants access to the user's OpenID Connect profile.
173
+ * - `profile`: Grants access to the user's profile information.
174
+ * - `email`: Grants access to the user's email address.
175
+ * - `read-repos`: Grants read access to the user's repositories.
176
+ * - `write-repos`: Grants write access to the user's repositories.
177
+ * - `manage-repos`: Can create/delete repositories on behalf of the user.
178
+ * - `write-discussions`: Can post on the user's behalf.
179
+ * - `read-billing`: Know if the user has a payment method set up.
180
+ * - `inference-api`: Can make calls to Inference providers on behalf of the user.
181
+ * - `webhooks`: Can manage webhooks on behalf of the user.
182
+ *
183
+ * You need to enable them first in your OAuth app settings.
184
+ *
185
+ * /!\ By default, the `profile` and `email` scopes are enabled in NextAuth. So you need to enable
186
+ * the `email` scope in your OAuth app settings or you will get a scope error.
187
+ *
188
+ * ### Resources
189
+ *
190
+ * - [Hugging Face OAuth documentation](https://huggingface.co/docs/hub/en/oauth#creating-an-oauth-app)
191
+ * - [Create an OAuth application](https://huggingface.co/settings/applications/new)
192
+ *
193
+ * ### Notes
194
+ *
195
+ * By default, Auth.js assumes that the Hugging Face provider is
196
+ * based on the [OIDC](https://openid.net/specs/openid-connect-core-1_0.html) specification.
197
+ *
198
+ * :::tip
199
+ *
200
+ * The HuggingFace provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/huggingface.ts).
201
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
202
+ *
203
+ * :::
204
+ *
205
+ * :::info **Disclaimer**
206
+ *
207
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
208
+ *
209
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
210
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
211
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
212
+ *
213
+ * :::
214
+ */
215
+ export default function Huggingface(options: OIDCUserConfig<HuggingfaceProfile>): OIDCConfig<HuggingfaceProfile>;
216
+ //# sourceMappingURL=huggingface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huggingface.d.ts","sourceRoot":"","sources":["../src/providers/huggingface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;QACV;;WAEG;QACH,GAAG,EAAE,MAAM,CAAA;QACX;;WAEG;QACH,IAAI,EAAE,MAAM,CAAA;QACZ;;WAEG;QACH,OAAO,EAAE,MAAM,CAAA;QACf;;WAEG;QACH,kBAAkB,EAAE,MAAM,CAAA;QAC1B;;WAEG;QACH,YAAY,EAAE,OAAO,CAAA;QACrB;;;;WAIG;QACH,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB;;;;WAIG;QACH,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CAAA;QACtD;;;;WAIG;QACH,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB;;;;WAIG;QACH,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB;;;;;;WAMG;QACH,cAAc,CAAC,EAAE,KAAK,CAAC;YACrB;;eAEG;YACH,GAAG,EAAE,MAAM,CAAA;YACX,IAAI,EAAE,MAAM,CAAA;YACZ;;eAEG;YACH,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,CAAA;SACjD,CAAC,CAAA;KACH,CAAC,CAAA;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,OAAO,EAAE,cAAc,CAAC,kBAAkB,CAAC,GAC1C,UAAU,CAAC,kBAAkB,CAAC,CAchC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#fff", display: "flex", justifyContent: "space-between", color: "#000", padding: 16}}>
3
+ * <span>Built-in <b>Hugging Face</b> integration.</span>
4
+ * <a href="https://huggingface.co">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/huggingface.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/huggingface
10
+ */
11
+ /**
12
+ * Add HuggingFace login to your page.
13
+ *
14
+ * ### Setup
15
+ *
16
+ * #### Callback URL
17
+ * ```
18
+ * https://example.com/api/auth/callback/huggingface
19
+ * ```
20
+ *
21
+ * #### Configuration
22
+ *```ts
23
+ * import { Auth } from "@auth/core"
24
+ * import HuggingFace from "@auth/core/providers/huggingface"
25
+ *
26
+ * const request = new Request(origin)
27
+ * const response = await Auth(request, {
28
+ * providers: [
29
+ * HuggingFace({
30
+ * clientId: HUGGINGFACE_CLIENT_ID,
31
+ * clientSecret: HUGGINGFACE_CLIENT_SECRET,
32
+ * authorization: {
33
+ * params: {
34
+ * scope: "openid profile email", // specify the scopes you need
35
+ * // orgIds: "unique_org_id" // If your oauth app needs access to a specific organization of the user
36
+ * }
37
+ * },
38
+ * }),
39
+ * ],
40
+ * })
41
+ * ```
42
+ *
43
+ * The following scopes are available:
44
+ *
45
+ * - `openid`: Grants access to the user's OpenID Connect profile.
46
+ * - `profile`: Grants access to the user's profile information.
47
+ * - `email`: Grants access to the user's email address.
48
+ * - `read-repos`: Grants read access to the user's repositories.
49
+ * - `write-repos`: Grants write access to the user's repositories.
50
+ * - `manage-repos`: Can create/delete repositories on behalf of the user.
51
+ * - `write-discussions`: Can post on the user's behalf.
52
+ * - `read-billing`: Know if the user has a payment method set up.
53
+ * - `inference-api`: Can make calls to Inference providers on behalf of the user.
54
+ * - `webhooks`: Can manage webhooks on behalf of the user.
55
+ *
56
+ * You need to enable them first in your OAuth app settings.
57
+ *
58
+ * /!\ By default, the `profile` and `email` scopes are enabled in NextAuth. So you need to enable
59
+ * the `email` scope in your OAuth app settings or you will get a scope error.
60
+ *
61
+ * ### Resources
62
+ *
63
+ * - [Hugging Face OAuth documentation](https://huggingface.co/docs/hub/en/oauth#creating-an-oauth-app)
64
+ * - [Create an OAuth application](https://huggingface.co/settings/applications/new)
65
+ *
66
+ * ### Notes
67
+ *
68
+ * By default, Auth.js assumes that the Hugging Face provider is
69
+ * based on the [OIDC](https://openid.net/specs/openid-connect-core-1_0.html) specification.
70
+ *
71
+ * :::tip
72
+ *
73
+ * The HuggingFace provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/huggingface.ts).
74
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
75
+ *
76
+ * :::
77
+ *
78
+ * :::info **Disclaimer**
79
+ *
80
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
81
+ *
82
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
83
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
84
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
85
+ *
86
+ * :::
87
+ */
88
+ export default function Huggingface(options) {
89
+ return {
90
+ id: "huggingface",
91
+ name: "Hugging Face",
92
+ type: "oidc",
93
+ issuer: "https://huggingface.co",
94
+ checks: ["state", "pkce"],
95
+ style: {
96
+ bg: "#FFD21E",
97
+ text: "#000",
98
+ },
99
+ options,
100
+ };
101
+ }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>IdentityServer4</b> integration.</span>
4
+ * <a href="https://identityserver4.readthedocs.io">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/identity-server4.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/identity-server4
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ /**
13
+ * Add IdentityServer4 login to your page.
14
+ *
15
+ * ### Setup
16
+ *
17
+ * #### Callback URL
18
+ * ```
19
+ * https://example.com/api/auth/callback/identity-server4
20
+ * ```
21
+ *
22
+ * #### Configuration
23
+ *```ts
24
+ * import { Auth } from "@auth/core"
25
+ * import IdentityServer4 from "@auth/core/providers/identity-server4"
26
+ *
27
+ * const request = new Request(origin)
28
+ * const response = await Auth(request, {
29
+ * providers: [
30
+ * IdentityServer4({
31
+ * clientId: IDENTITY_SERVER4_CLIENT_ID,
32
+ * clientSecret: IDENTITY_SERVER4_CLIENT_SECRET,
33
+ * issuer: IDENTITY_SERVER4_ISSUER,
34
+ * }),
35
+ * ],
36
+ * })
37
+ * ```
38
+ *
39
+ * ### Resources
40
+ *
41
+ * - [IdentityServer4 OAuth documentation](https://identityserver4.readthedocs.io/en/latest/)
42
+ *
43
+ * ### Notes
44
+ *
45
+ * By default, Auth.js assumes that the IdentityServer4 provider is
46
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
47
+ *
48
+ * :::warning
49
+ * IdentityServer4 is discontinued and only releases security updates until November 2022. You should consider an alternative provider.
50
+ * :::
51
+ * :::tip
52
+ *
53
+ * The IdentityServer4 provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/identity-server4.ts).
54
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
55
+ *
56
+ * :::
57
+ *
58
+ * :::info **Disclaimer**
59
+ *
60
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
61
+ *
62
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
63
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
64
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
65
+ *
66
+ * :::
67
+ */
68
+ export default function IdentityServer4(options: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
69
+ //# sourceMappingURL=identity-server4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-server4.d.ts","sourceRoot":"","sources":["../src/providers/identity-server4.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC5C,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAOlC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Add IdentityServer4 login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/identity-server4
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import IdentityServer4 from "@auth/core/providers/identity-server4"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * IdentityServer4({
20
+ * clientId: IDENTITY_SERVER4_CLIENT_ID,
21
+ * clientSecret: IDENTITY_SERVER4_CLIENT_SECRET,
22
+ * issuer: IDENTITY_SERVER4_ISSUER,
23
+ * }),
24
+ * ],
25
+ * })
26
+ * ```
27
+ *
28
+ * ### Resources
29
+ *
30
+ * - [IdentityServer4 OAuth documentation](https://identityserver4.readthedocs.io/en/latest/)
31
+ *
32
+ * ### Notes
33
+ *
34
+ * By default, Auth.js assumes that the IdentityServer4 provider is
35
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
36
+ *
37
+ * :::warning
38
+ * IdentityServer4 is discontinued and only releases security updates until November 2022. You should consider an alternative provider.
39
+ * :::
40
+ * :::tip
41
+ *
42
+ * The IdentityServer4 provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/identity-server4.ts).
43
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
44
+ *
45
+ * :::
46
+ *
47
+ * :::info **Disclaimer**
48
+ *
49
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
50
+ *
51
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
52
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
53
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
54
+ *
55
+ * :::
56
+ */
57
+ export default function IdentityServer4(options) {
58
+ return {
59
+ id: "identity-server4",
60
+ name: "IdentityServer4",
61
+ type: "oidc",
62
+ options,
63
+ };
64
+ }
@@ -0,0 +1,61 @@
1
+ import type { Profile } from "../types.js";
2
+ import CredentialsProvider from "./credentials.js";
3
+ import type { CredentialsConfig, CredentialsProviderId } from "./credentials.js";
4
+ import type EmailProvider from "./email.js";
5
+ import type { EmailConfig, EmailProviderId } from "./email.js";
6
+ import type { OAuth2Config, OAuthConfig, OAuthProviderId, OIDCConfig } from "./oauth.js";
7
+ import type { WebAuthnConfig, WebAuthnProviderType } from "./webauthn.js";
8
+ export * from "./credentials.js";
9
+ export * from "./email.js";
10
+ export * from "./oauth.js";
11
+ /**
12
+ * Providers passed to Auth.js must define one of these types.
13
+ *
14
+ * @see [RFC 6749 - The OAuth 2.0 Authorization Framework](https://www.rfc-editor.org/rfc/rfc6749.html#section-2.3)
15
+ * @see [OpenID Connect Core 1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
16
+ * @see [Email or Passwordless Authentication](https://authjs.dev/concepts/oauth)
17
+ * @see [Credentials-based Authentication](https://authjs.dev/getting-started/providers/credentials)
18
+ */
19
+ export type ProviderType = "oidc" | "oauth" | "email" | "credentials" | WebAuthnProviderType;
20
+ /** Shared across all {@link ProviderType} */
21
+ export interface CommonProviderOptions {
22
+ /**
23
+ * Uniquely identifies the provider in {@link AuthConfig.providers}
24
+ * It's also part of the URL
25
+ */
26
+ id: string;
27
+ /**
28
+ * The provider name used on the default sign-in page's sign-in button.
29
+ * For example if it's "Google", the corresponding button will say:
30
+ * "Sign in with Google"
31
+ */
32
+ name: string;
33
+ /** See {@link ProviderType} */
34
+ type: ProviderType;
35
+ }
36
+ interface InternalProviderOptions {
37
+ /** Used to deep merge user-provided config with the default config
38
+ */
39
+ options?: Record<string, unknown>;
40
+ }
41
+ /**
42
+ * Must be a supported authentication provider config:
43
+ * - {@link OAuthConfig}
44
+ * - {@link EmailConfigInternal}
45
+ * - {@link CredentialsConfigInternal}
46
+ *
47
+ * For more information, see the guides:
48
+ *
49
+ * @see [OAuth/OIDC guide](https://authjs.dev/guides/providers/custom-provider)
50
+ * @see [Email (Passwordless) guide](https://authjs.dev/guides/providers/email)
51
+ * @see [Credentials guide](https://authjs.dev/getting-started/providers/credentials)
52
+ */
53
+ export type Provider<P extends Profile = any> = (((OIDCConfig<P> | OAuth2Config<P> | EmailConfig | CredentialsConfig | WebAuthnConfig) & InternalProviderOptions) | ((...args: any) => (OAuth2Config<P> | OIDCConfig<P> | EmailConfig | CredentialsConfig | WebAuthnConfig) & InternalProviderOptions)) & InternalProviderOptions;
54
+ export type BuiltInProviders = Record<OAuthProviderId, (config: Partial<OAuthConfig<any>>) => OAuthConfig<any>> & Record<CredentialsProviderId, typeof CredentialsProvider> & Record<EmailProviderId, typeof EmailProvider> & Record<WebAuthnProviderType, (config: Partial<WebAuthnConfig>) => WebAuthnConfig>;
55
+ export type AppProviders = Array<Provider | ReturnType<BuiltInProviders[keyof BuiltInProviders]>>;
56
+ export interface AppProvider extends CommonProviderOptions {
57
+ signinUrl: string;
58
+ callbackUrl: string;
59
+ }
60
+ export type ProviderId = CredentialsProviderId | EmailProviderId | OAuthProviderId | WebAuthnProviderType | (string & {});
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,mBAAmB,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,aAAa,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,UAAU,EACX,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzE,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAE1B;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,OAAO,GACP,OAAO,GACP,aAAa,GACb,oBAAoB,CAAA;AAExB,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,UAAU,uBAAuB;IAC/B;OACG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,GAAG,IAAI,CAC5C,CAAC,CACG,UAAU,CAAC,CAAC,CAAC,GACb,YAAY,CAAC,CAAC,CAAC,GACf,WAAW,GACX,iBAAiB,GACjB,cAAc,CACjB,GACC,uBAAuB,CAAC,GAC1B,CAAC,CACC,GAAG,IAAI,EAAE,GAAG,KACT,CACD,YAAY,CAAC,CAAC,CAAC,GACf,UAAU,CAAC,CAAC,CAAC,GACb,WAAW,GACX,iBAAiB,GACjB,cAAc,CACjB,GACC,uBAAuB,CAAC,CAC7B,GACC,uBAAuB,CAAA;AAEzB,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,eAAe,EACf,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,CACxD,GACC,MAAM,CAAC,qBAAqB,EAAE,OAAO,mBAAmB,CAAC,GACzD,MAAM,CAAC,eAAe,EAAE,OAAO,aAAa,CAAC,GAC7C,MAAM,CACJ,oBAAoB,EACpB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,cAAc,CACpD,CAAA;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAC9B,QAAQ,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAChE,CAAA;AAED,MAAM,WAAW,WAAY,SAAQ,qBAAqB;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,UAAU,GAClB,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./credentials.js";
2
+ export * from "./email.js";
3
+ export * from "./oauth.js";
@@ -0,0 +1,74 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Instagram</b> integration.</span>
4
+ * <a href="https://www.instagram.com/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/instagram.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/instagram
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ /**
13
+ * Add Instagram login to your page.
14
+ *
15
+ * ### Setup
16
+ *
17
+ * #### Callback URL
18
+ * ```
19
+ * https://example.com/api/auth/callback/instagram
20
+ * ```
21
+ *
22
+ * #### Configuration
23
+ *```ts
24
+ * import { Auth } from "@auth/core"
25
+ * import Instagram from "@auth/core/providers/instagram"
26
+ *
27
+ * const request = new Request(origin)
28
+ * const response = await Auth(request, {
29
+ * providers: [
30
+ * Instagram({
31
+ * clientId: INSTAGRAM_CLIENT_ID,
32
+ * clientSecret: INSTAGRAM_CLIENT_SECRET,
33
+ * }),
34
+ * ],
35
+ * })
36
+ * ```
37
+ *
38
+ * ### Resources
39
+ *
40
+ * - [Instagram OAuth documentation](https://developers.facebook.com/docs/instagram-basic-display-api/getting-started)
41
+ * - [Instagram OAuth apps](https://developers.facebook.com/apps/)
42
+ *
43
+ * ### Notes
44
+ *
45
+ * By default, Auth.js assumes that the Instagram provider is
46
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
47
+ *
48
+ *
49
+ * :::warning
50
+ * Email address is not returned by the Instagram API.
51
+ * :::
52
+ *
53
+ * :::tip
54
+ * Instagram display app required callback URL to be configured in your Facebook app and Facebook required you to use **https** even for localhost! In order to do that, you either need to [add an SSL to your localhost](https://www.freecodecamp.org/news/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec/) or use a proxy such as [ngrok](https://ngrok.com/docs).
55
+ * :::
56
+ * :::tip
57
+ *
58
+ * The Instagram provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/instagram.ts).
59
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
60
+ *
61
+ * :::
62
+ *
63
+ * :::info **Disclaimer**
64
+ *
65
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
66
+ *
67
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
68
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
69
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
70
+ *
71
+ * :::
72
+ */
73
+ export default function Instagram(config: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
74
+ //# sourceMappingURL=instagram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instagram.d.ts","sourceRoot":"","sources":["../src/providers/instagram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC3C,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CA2BlC"}