mulguard 1.1.6 → 1.1.8

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 (540) hide show
  1. package/README.md +21 -1078
  2. package/adapters.d.ts +2 -0
  3. package/adapters.d.ts.map +1 -0
  4. package/adapters.js +1 -0
  5. package/index.d.ts +329 -0
  6. package/index.d.ts.map +1 -0
  7. package/index.js +145 -0
  8. package/jwt.d.ts +9 -0
  9. package/jwt.d.ts.map +1 -0
  10. package/jwt.js +8 -0
  11. package/lib/actions.d.ts +13 -0
  12. package/lib/actions.d.ts.map +1 -0
  13. package/lib/actions.js +86 -0
  14. package/lib/client.d.ts +104 -0
  15. package/lib/client.d.ts.map +1 -0
  16. package/lib/client.js +95 -0
  17. package/lib/env.d.ts +12 -0
  18. package/lib/env.d.ts.map +1 -0
  19. package/lib/env.js +38 -0
  20. package/lib/index.d.ts +56 -0
  21. package/lib/index.d.ts.map +1 -0
  22. package/lib/index.js +187 -0
  23. package/lib/types.d.ts +24 -0
  24. package/lib/types.d.ts.map +1 -0
  25. package/lib/types.js +1 -0
  26. package/middleware.d.ts +9 -0
  27. package/middleware.d.ts.map +1 -0
  28. package/middleware.js +12 -0
  29. package/next.d.ts +9 -0
  30. package/next.d.ts.map +1 -0
  31. package/next.js +12 -0
  32. package/package.json +117 -73
  33. package/providers/42-school.d.ts +3 -0
  34. package/providers/42-school.d.ts.map +1 -0
  35. package/providers/42-school.js +2 -0
  36. package/providers/apple.d.ts +3 -0
  37. package/providers/apple.d.ts.map +1 -0
  38. package/providers/apple.js +2 -0
  39. package/providers/asgardeo.d.ts +3 -0
  40. package/providers/asgardeo.d.ts.map +1 -0
  41. package/providers/asgardeo.js +2 -0
  42. package/providers/atlassian.d.ts +3 -0
  43. package/providers/atlassian.d.ts.map +1 -0
  44. package/providers/atlassian.js +2 -0
  45. package/providers/auth0.d.ts +3 -0
  46. package/providers/auth0.d.ts.map +1 -0
  47. package/providers/auth0.js +2 -0
  48. package/providers/authentik.d.ts +3 -0
  49. package/providers/authentik.d.ts.map +1 -0
  50. package/providers/authentik.js +2 -0
  51. package/providers/azure-ad-b2c.d.ts +3 -0
  52. package/providers/azure-ad-b2c.d.ts.map +1 -0
  53. package/providers/azure-ad-b2c.js +2 -0
  54. package/providers/azure-ad.d.ts +3 -0
  55. package/providers/azure-ad.d.ts.map +1 -0
  56. package/providers/azure-ad.js +2 -0
  57. package/providers/azure-devops.d.ts +3 -0
  58. package/providers/azure-devops.d.ts.map +1 -0
  59. package/providers/azure-devops.js +2 -0
  60. package/providers/bankid-no.d.ts +3 -0
  61. package/providers/bankid-no.d.ts.map +1 -0
  62. package/providers/bankid-no.js +2 -0
  63. package/providers/battlenet.d.ts +3 -0
  64. package/providers/battlenet.d.ts.map +1 -0
  65. package/providers/battlenet.js +2 -0
  66. package/providers/beyondidentity.d.ts +3 -0
  67. package/providers/beyondidentity.d.ts.map +1 -0
  68. package/providers/beyondidentity.js +2 -0
  69. package/providers/bitbucket.d.ts +3 -0
  70. package/providers/bitbucket.d.ts.map +1 -0
  71. package/providers/bitbucket.js +2 -0
  72. package/providers/box.d.ts +3 -0
  73. package/providers/box.d.ts.map +1 -0
  74. package/providers/box.js +2 -0
  75. package/providers/boxyhq-saml.d.ts +3 -0
  76. package/providers/boxyhq-saml.d.ts.map +1 -0
  77. package/providers/boxyhq-saml.js +2 -0
  78. package/providers/bungie.d.ts +3 -0
  79. package/providers/bungie.d.ts.map +1 -0
  80. package/providers/bungie.js +2 -0
  81. package/providers/click-up.d.ts +3 -0
  82. package/providers/click-up.d.ts.map +1 -0
  83. package/providers/click-up.js +2 -0
  84. package/providers/cognito.d.ts +3 -0
  85. package/providers/cognito.d.ts.map +1 -0
  86. package/providers/cognito.js +2 -0
  87. package/providers/coinbase.d.ts +3 -0
  88. package/providers/coinbase.d.ts.map +1 -0
  89. package/providers/coinbase.js +2 -0
  90. package/providers/concept2.d.ts +3 -0
  91. package/providers/concept2.d.ts.map +1 -0
  92. package/providers/concept2.js +2 -0
  93. package/providers/credentials.d.ts +3 -0
  94. package/providers/credentials.d.ts.map +1 -0
  95. package/providers/credentials.js +2 -0
  96. package/providers/descope.d.ts +3 -0
  97. package/providers/descope.d.ts.map +1 -0
  98. package/providers/descope.js +2 -0
  99. package/providers/discord.d.ts +3 -0
  100. package/providers/discord.d.ts.map +1 -0
  101. package/providers/discord.js +2 -0
  102. package/providers/dribbble.d.ts +3 -0
  103. package/providers/dribbble.d.ts.map +1 -0
  104. package/providers/dribbble.js +2 -0
  105. package/providers/dropbox.d.ts +3 -0
  106. package/providers/dropbox.d.ts.map +1 -0
  107. package/providers/dropbox.js +2 -0
  108. package/providers/duende-identity-server6.d.ts +3 -0
  109. package/providers/duende-identity-server6.d.ts.map +1 -0
  110. package/providers/duende-identity-server6.js +2 -0
  111. package/providers/email.d.ts +3 -0
  112. package/providers/email.d.ts.map +1 -0
  113. package/providers/email.js +2 -0
  114. package/providers/eventbrite.d.ts +3 -0
  115. package/providers/eventbrite.d.ts.map +1 -0
  116. package/providers/eventbrite.js +2 -0
  117. package/providers/eveonline.d.ts +3 -0
  118. package/providers/eveonline.d.ts.map +1 -0
  119. package/providers/eveonline.js +2 -0
  120. package/providers/facebook.d.ts +3 -0
  121. package/providers/facebook.d.ts.map +1 -0
  122. package/providers/facebook.js +2 -0
  123. package/providers/faceit.d.ts +3 -0
  124. package/providers/faceit.d.ts.map +1 -0
  125. package/providers/faceit.js +2 -0
  126. package/providers/figma.d.ts +3 -0
  127. package/providers/figma.d.ts.map +1 -0
  128. package/providers/figma.js +2 -0
  129. package/providers/forwardemail.d.ts +3 -0
  130. package/providers/forwardemail.d.ts.map +1 -0
  131. package/providers/forwardemail.js +2 -0
  132. package/providers/foursquare.d.ts +3 -0
  133. package/providers/foursquare.d.ts.map +1 -0
  134. package/providers/foursquare.js +2 -0
  135. package/providers/freshbooks.d.ts +3 -0
  136. package/providers/freshbooks.d.ts.map +1 -0
  137. package/providers/freshbooks.js +2 -0
  138. package/providers/frontegg.d.ts +3 -0
  139. package/providers/frontegg.d.ts.map +1 -0
  140. package/providers/frontegg.js +2 -0
  141. package/providers/fusionauth.d.ts +3 -0
  142. package/providers/fusionauth.d.ts.map +1 -0
  143. package/providers/fusionauth.js +2 -0
  144. package/providers/github.d.ts +3 -0
  145. package/providers/github.d.ts.map +1 -0
  146. package/providers/github.js +2 -0
  147. package/providers/gitlab.d.ts +3 -0
  148. package/providers/gitlab.d.ts.map +1 -0
  149. package/providers/gitlab.js +2 -0
  150. package/providers/google.d.ts +3 -0
  151. package/providers/google.d.ts.map +1 -0
  152. package/providers/google.js +2 -0
  153. package/providers/hubspot.d.ts +3 -0
  154. package/providers/hubspot.d.ts.map +1 -0
  155. package/providers/hubspot.js +2 -0
  156. package/providers/huggingface.d.ts +3 -0
  157. package/providers/huggingface.d.ts.map +1 -0
  158. package/providers/huggingface.js +2 -0
  159. package/providers/identity-server4.d.ts +3 -0
  160. package/providers/identity-server4.d.ts.map +1 -0
  161. package/providers/identity-server4.js +2 -0
  162. package/providers/index.d.ts +2 -0
  163. package/providers/index.d.ts.map +1 -0
  164. package/providers/index.js +1 -0
  165. package/providers/instagram.d.ts +3 -0
  166. package/providers/instagram.d.ts.map +1 -0
  167. package/providers/instagram.js +2 -0
  168. package/providers/kakao.d.ts +3 -0
  169. package/providers/kakao.d.ts.map +1 -0
  170. package/providers/kakao.js +2 -0
  171. package/providers/keycloak.d.ts +3 -0
  172. package/providers/keycloak.d.ts.map +1 -0
  173. package/providers/keycloak.js +2 -0
  174. package/providers/kinde.d.ts +3 -0
  175. package/providers/kinde.d.ts.map +1 -0
  176. package/providers/kinde.js +2 -0
  177. package/providers/line.d.ts +3 -0
  178. package/providers/line.d.ts.map +1 -0
  179. package/providers/line.js +2 -0
  180. package/providers/linkedin.d.ts +3 -0
  181. package/providers/linkedin.d.ts.map +1 -0
  182. package/providers/linkedin.js +2 -0
  183. package/providers/logto.d.ts +3 -0
  184. package/providers/logto.d.ts.map +1 -0
  185. package/providers/logto.js +2 -0
  186. package/providers/loops.d.ts +3 -0
  187. package/providers/loops.d.ts.map +1 -0
  188. package/providers/loops.js +2 -0
  189. package/providers/mailchimp.d.ts +3 -0
  190. package/providers/mailchimp.d.ts.map +1 -0
  191. package/providers/mailchimp.js +2 -0
  192. package/providers/mailgun.d.ts +3 -0
  193. package/providers/mailgun.d.ts.map +1 -0
  194. package/providers/mailgun.js +2 -0
  195. package/providers/mailru.d.ts +3 -0
  196. package/providers/mailru.d.ts.map +1 -0
  197. package/providers/mailru.js +2 -0
  198. package/providers/mastodon.d.ts +3 -0
  199. package/providers/mastodon.d.ts.map +1 -0
  200. package/providers/mastodon.js +2 -0
  201. package/providers/mattermost.d.ts +3 -0
  202. package/providers/mattermost.d.ts.map +1 -0
  203. package/providers/mattermost.js +2 -0
  204. package/providers/medium.d.ts +3 -0
  205. package/providers/medium.d.ts.map +1 -0
  206. package/providers/medium.js +2 -0
  207. package/providers/microsoft-entra-id.d.ts +3 -0
  208. package/providers/microsoft-entra-id.d.ts.map +1 -0
  209. package/providers/microsoft-entra-id.js +2 -0
  210. package/providers/naver.d.ts +3 -0
  211. package/providers/naver.d.ts.map +1 -0
  212. package/providers/naver.js +2 -0
  213. package/providers/netlify.d.ts +3 -0
  214. package/providers/netlify.d.ts.map +1 -0
  215. package/providers/netlify.js +2 -0
  216. package/providers/netsuite.d.ts +3 -0
  217. package/providers/netsuite.d.ts.map +1 -0
  218. package/providers/netsuite.js +2 -0
  219. package/providers/nextcloud.d.ts +3 -0
  220. package/providers/nextcloud.d.ts.map +1 -0
  221. package/providers/nextcloud.js +2 -0
  222. package/providers/nodemailer.d.ts +3 -0
  223. package/providers/nodemailer.d.ts.map +1 -0
  224. package/providers/nodemailer.js +2 -0
  225. package/providers/notion.d.ts +3 -0
  226. package/providers/notion.d.ts.map +1 -0
  227. package/providers/notion.js +2 -0
  228. package/providers/okta.d.ts +3 -0
  229. package/providers/okta.d.ts.map +1 -0
  230. package/providers/okta.js +2 -0
  231. package/providers/onelogin.d.ts +3 -0
  232. package/providers/onelogin.d.ts.map +1 -0
  233. package/providers/onelogin.js +2 -0
  234. package/providers/ory-hydra.d.ts +3 -0
  235. package/providers/ory-hydra.d.ts.map +1 -0
  236. package/providers/ory-hydra.js +2 -0
  237. package/providers/osso.d.ts +3 -0
  238. package/providers/osso.d.ts.map +1 -0
  239. package/providers/osso.js +2 -0
  240. package/providers/osu.d.ts +3 -0
  241. package/providers/osu.d.ts.map +1 -0
  242. package/providers/osu.js +2 -0
  243. package/providers/passage.d.ts +3 -0
  244. package/providers/passage.d.ts.map +1 -0
  245. package/providers/passage.js +2 -0
  246. package/providers/passkey.d.ts +3 -0
  247. package/providers/passkey.d.ts.map +1 -0
  248. package/providers/passkey.js +2 -0
  249. package/providers/patreon.d.ts +3 -0
  250. package/providers/patreon.d.ts.map +1 -0
  251. package/providers/patreon.js +2 -0
  252. package/providers/ping-id.d.ts +3 -0
  253. package/providers/ping-id.d.ts.map +1 -0
  254. package/providers/ping-id.js +2 -0
  255. package/providers/pinterest.d.ts +3 -0
  256. package/providers/pinterest.d.ts.map +1 -0
  257. package/providers/pinterest.js +2 -0
  258. package/providers/pipedrive.d.ts +3 -0
  259. package/providers/pipedrive.d.ts.map +1 -0
  260. package/providers/pipedrive.js +2 -0
  261. package/providers/postmark.d.ts +3 -0
  262. package/providers/postmark.d.ts.map +1 -0
  263. package/providers/postmark.js +2 -0
  264. package/providers/reddit.d.ts +3 -0
  265. package/providers/reddit.d.ts.map +1 -0
  266. package/providers/reddit.js +2 -0
  267. package/providers/resend.d.ts +3 -0
  268. package/providers/resend.d.ts.map +1 -0
  269. package/providers/resend.js +2 -0
  270. package/providers/roblox.d.ts +3 -0
  271. package/providers/roblox.d.ts.map +1 -0
  272. package/providers/roblox.js +2 -0
  273. package/providers/salesforce.d.ts +3 -0
  274. package/providers/salesforce.d.ts.map +1 -0
  275. package/providers/salesforce.js +2 -0
  276. package/providers/sendgrid.d.ts +3 -0
  277. package/providers/sendgrid.d.ts.map +1 -0
  278. package/providers/sendgrid.js +2 -0
  279. package/providers/simplelogin.d.ts +3 -0
  280. package/providers/simplelogin.d.ts.map +1 -0
  281. package/providers/simplelogin.js +2 -0
  282. package/providers/slack.d.ts +3 -0
  283. package/providers/slack.d.ts.map +1 -0
  284. package/providers/slack.js +2 -0
  285. package/providers/spotify.d.ts +3 -0
  286. package/providers/spotify.d.ts.map +1 -0
  287. package/providers/spotify.js +2 -0
  288. package/providers/strava.d.ts +3 -0
  289. package/providers/strava.d.ts.map +1 -0
  290. package/providers/strava.js +2 -0
  291. package/providers/threads.d.ts +3 -0
  292. package/providers/threads.d.ts.map +1 -0
  293. package/providers/threads.js +2 -0
  294. package/providers/tiktok.d.ts +3 -0
  295. package/providers/tiktok.d.ts.map +1 -0
  296. package/providers/tiktok.js +2 -0
  297. package/providers/todoist.d.ts +3 -0
  298. package/providers/todoist.d.ts.map +1 -0
  299. package/providers/todoist.js +2 -0
  300. package/providers/trakt.d.ts +3 -0
  301. package/providers/trakt.d.ts.map +1 -0
  302. package/providers/trakt.js +2 -0
  303. package/providers/twitch.d.ts +3 -0
  304. package/providers/twitch.d.ts.map +1 -0
  305. package/providers/twitch.js +2 -0
  306. package/providers/twitter.d.ts +3 -0
  307. package/providers/twitter.d.ts.map +1 -0
  308. package/providers/twitter.js +2 -0
  309. package/providers/united-effects.d.ts +3 -0
  310. package/providers/united-effects.d.ts.map +1 -0
  311. package/providers/united-effects.js +2 -0
  312. package/providers/vipps.d.ts +3 -0
  313. package/providers/vipps.d.ts.map +1 -0
  314. package/providers/vipps.js +2 -0
  315. package/providers/vk.d.ts +3 -0
  316. package/providers/vk.d.ts.map +1 -0
  317. package/providers/vk.js +2 -0
  318. package/providers/webauthn.d.ts +3 -0
  319. package/providers/webauthn.d.ts.map +1 -0
  320. package/providers/webauthn.js +2 -0
  321. package/providers/webex.d.ts +3 -0
  322. package/providers/webex.d.ts.map +1 -0
  323. package/providers/webex.js +2 -0
  324. package/providers/wechat.d.ts +3 -0
  325. package/providers/wechat.d.ts.map +1 -0
  326. package/providers/wechat.js +2 -0
  327. package/providers/wikimedia.d.ts +3 -0
  328. package/providers/wikimedia.d.ts.map +1 -0
  329. package/providers/wikimedia.js +2 -0
  330. package/providers/wordpress.d.ts +3 -0
  331. package/providers/wordpress.d.ts.map +1 -0
  332. package/providers/wordpress.js +2 -0
  333. package/providers/workos.d.ts +3 -0
  334. package/providers/workos.d.ts.map +1 -0
  335. package/providers/workos.js +2 -0
  336. package/providers/yandex.d.ts +3 -0
  337. package/providers/yandex.d.ts.map +1 -0
  338. package/providers/yandex.js +2 -0
  339. package/providers/zitadel.d.ts +3 -0
  340. package/providers/zitadel.d.ts.map +1 -0
  341. package/providers/zitadel.js +2 -0
  342. package/providers/zoho.d.ts +3 -0
  343. package/providers/zoho.d.ts.map +1 -0
  344. package/providers/zoho.js +2 -0
  345. package/providers/zoom.d.ts +3 -0
  346. package/providers/zoom.d.ts.map +1 -0
  347. package/providers/zoom.js +2 -0
  348. package/react.d.ts +102 -0
  349. package/react.d.ts.map +1 -0
  350. package/react.js +361 -0
  351. package/src/adapters.ts +1 -0
  352. package/src/index.ts +430 -0
  353. package/src/jwt.ts +9 -0
  354. package/src/lib/actions.ts +144 -0
  355. package/src/lib/client.ts +245 -0
  356. package/src/lib/env.ts +36 -0
  357. package/src/lib/index.ts +313 -0
  358. package/src/lib/types.ts +30 -0
  359. package/src/middleware.ts +16 -0
  360. package/src/next.ts +16 -0
  361. package/src/providers/42-school.ts +2 -0
  362. package/src/providers/apple.ts +2 -0
  363. package/src/providers/asgardeo.ts +2 -0
  364. package/src/providers/atlassian.ts +2 -0
  365. package/src/providers/auth0.ts +2 -0
  366. package/src/providers/authentik.ts +2 -0
  367. package/src/providers/azure-ad-b2c.ts +2 -0
  368. package/src/providers/azure-ad.ts +2 -0
  369. package/src/providers/azure-devops.ts +2 -0
  370. package/src/providers/bankid-no.ts +2 -0
  371. package/src/providers/battlenet.ts +2 -0
  372. package/src/providers/beyondidentity.ts +2 -0
  373. package/src/providers/bitbucket.ts +2 -0
  374. package/src/providers/box.ts +2 -0
  375. package/src/providers/boxyhq-saml.ts +2 -0
  376. package/src/providers/bungie.ts +2 -0
  377. package/src/providers/click-up.ts +2 -0
  378. package/src/providers/cognito.ts +2 -0
  379. package/src/providers/coinbase.ts +2 -0
  380. package/src/providers/concept2.ts +2 -0
  381. package/src/providers/credentials.ts +2 -0
  382. package/src/providers/descope.ts +2 -0
  383. package/src/providers/discord.ts +2 -0
  384. package/src/providers/dribbble.ts +2 -0
  385. package/src/providers/dropbox.ts +2 -0
  386. package/src/providers/duende-identity-server6.ts +2 -0
  387. package/src/providers/email.ts +2 -0
  388. package/src/providers/eventbrite.ts +2 -0
  389. package/src/providers/eveonline.ts +2 -0
  390. package/src/providers/facebook.ts +2 -0
  391. package/src/providers/faceit.ts +2 -0
  392. package/src/providers/figma.ts +2 -0
  393. package/src/providers/forwardemail.ts +2 -0
  394. package/src/providers/foursquare.ts +2 -0
  395. package/src/providers/freshbooks.ts +2 -0
  396. package/src/providers/frontegg.ts +2 -0
  397. package/src/providers/fusionauth.ts +2 -0
  398. package/src/providers/github.ts +2 -0
  399. package/src/providers/gitlab.ts +2 -0
  400. package/src/providers/google.ts +2 -0
  401. package/src/providers/hubspot.ts +2 -0
  402. package/src/providers/huggingface.ts +2 -0
  403. package/src/providers/identity-server4.ts +2 -0
  404. package/src/providers/index.ts +1 -0
  405. package/src/providers/instagram.ts +2 -0
  406. package/src/providers/kakao.ts +2 -0
  407. package/src/providers/keycloak.ts +2 -0
  408. package/src/providers/kinde.ts +2 -0
  409. package/src/providers/line.ts +2 -0
  410. package/src/providers/linkedin.ts +2 -0
  411. package/src/providers/logto.ts +2 -0
  412. package/src/providers/loops.ts +2 -0
  413. package/src/providers/mailchimp.ts +2 -0
  414. package/src/providers/mailgun.ts +2 -0
  415. package/src/providers/mailru.ts +2 -0
  416. package/src/providers/mastodon.ts +2 -0
  417. package/src/providers/mattermost.ts +2 -0
  418. package/src/providers/medium.ts +2 -0
  419. package/src/providers/microsoft-entra-id.ts +2 -0
  420. package/src/providers/naver.ts +2 -0
  421. package/src/providers/netlify.ts +2 -0
  422. package/src/providers/netsuite.ts +2 -0
  423. package/src/providers/nextcloud.ts +2 -0
  424. package/src/providers/nodemailer.ts +2 -0
  425. package/src/providers/notion.ts +2 -0
  426. package/src/providers/okta.ts +2 -0
  427. package/src/providers/onelogin.ts +2 -0
  428. package/src/providers/ory-hydra.ts +2 -0
  429. package/src/providers/osso.ts +2 -0
  430. package/src/providers/osu.ts +2 -0
  431. package/src/providers/passage.ts +2 -0
  432. package/src/providers/passkey.ts +2 -0
  433. package/src/providers/patreon.ts +2 -0
  434. package/src/providers/ping-id.ts +2 -0
  435. package/src/providers/pinterest.ts +2 -0
  436. package/src/providers/pipedrive.ts +2 -0
  437. package/src/providers/postmark.ts +2 -0
  438. package/src/providers/reddit.ts +2 -0
  439. package/src/providers/resend.ts +2 -0
  440. package/src/providers/roblox.ts +2 -0
  441. package/src/providers/salesforce.ts +2 -0
  442. package/src/providers/sendgrid.ts +2 -0
  443. package/src/providers/simplelogin.ts +2 -0
  444. package/src/providers/slack.ts +2 -0
  445. package/src/providers/spotify.ts +2 -0
  446. package/src/providers/strava.ts +2 -0
  447. package/src/providers/threads.ts +2 -0
  448. package/src/providers/tiktok.ts +2 -0
  449. package/src/providers/todoist.ts +2 -0
  450. package/src/providers/trakt.ts +2 -0
  451. package/src/providers/twitch.ts +2 -0
  452. package/src/providers/twitter.ts +2 -0
  453. package/src/providers/united-effects.ts +2 -0
  454. package/src/providers/vipps.ts +2 -0
  455. package/src/providers/vk.ts +2 -0
  456. package/src/providers/webauthn.ts +2 -0
  457. package/src/providers/webex.ts +2 -0
  458. package/src/providers/wechat.ts +2 -0
  459. package/src/providers/wikimedia.ts +2 -0
  460. package/src/providers/wordpress.ts +2 -0
  461. package/src/providers/workos.ts +2 -0
  462. package/src/providers/yandex.ts +2 -0
  463. package/src/providers/zitadel.ts +2 -0
  464. package/src/providers/zoho.ts +2 -0
  465. package/src/providers/zoom.ts +2 -0
  466. package/src/react.tsx +546 -0
  467. package/src/webauthn.ts +152 -0
  468. package/webauthn.d.ts +9 -0
  469. package/webauthn.d.ts.map +1 -0
  470. package/webauthn.js +92 -0
  471. package/LICENSE +0 -70
  472. package/dist/actions-CExpv_dD.js +0 -1
  473. package/dist/actions-DeCfLtHA.mjs +0 -184
  474. package/dist/client/hooks.d.ts +0 -122
  475. package/dist/client/index.d.ts +0 -5
  476. package/dist/client/index.js +0 -1
  477. package/dist/client/index.mjs +0 -478
  478. package/dist/client/provider.d.ts +0 -69
  479. package/dist/client/server-actions-helper.d.ts +0 -22
  480. package/dist/components/AccountPicker.d.ts +0 -11
  481. package/dist/components/OAuthButton.d.ts +0 -11
  482. package/dist/components/PassKeyButton.d.ts +0 -11
  483. package/dist/components/PassKeyRegister.d.ts +0 -10
  484. package/dist/components/TwoFactorSetup.d.ts +0 -8
  485. package/dist/components/TwoFactorVerify.d.ts +0 -9
  486. package/dist/core/account-picker/encryption.d.ts +0 -22
  487. package/dist/core/account-picker/index.d.ts +0 -22
  488. package/dist/core/auth/index.d.ts +0 -40
  489. package/dist/core/auth/oauth-providers.d.ts +0 -197
  490. package/dist/core/auth/oauth-state-store-cookie.d.ts +0 -83
  491. package/dist/core/auth/oauth-state-store-redis.d.ts +0 -25
  492. package/dist/core/auth/oauth-state-store.d.ts +0 -45
  493. package/dist/core/auth/oauth.d.ts +0 -20
  494. package/dist/core/auth/passkey.d.ts +0 -35
  495. package/dist/core/auth/password.d.ts +0 -22
  496. package/dist/core/auth/signin-unified.d.ts +0 -33
  497. package/dist/core/auth/two-factor.d.ts +0 -28
  498. package/dist/core/client/index.d.ts +0 -132
  499. package/dist/core/client/token-refresh-manager.d.ts +0 -48
  500. package/dist/core/index.d.ts +0 -11
  501. package/dist/core/mulguard/auth-handlers.d.ts +0 -100
  502. package/dist/core/mulguard/defaults.d.ts +0 -58
  503. package/dist/core/mulguard/index.d.ts +0 -9
  504. package/dist/core/mulguard/oauth-handler.d.ts +0 -93
  505. package/dist/core/mulguard/session-manager.d.ts +0 -94
  506. package/dist/core/security/csrf.d.ts +0 -46
  507. package/dist/core/security/headers.d.ts +0 -24
  508. package/dist/core/security/index.d.ts +0 -132
  509. package/dist/core/security/rate-limit.d.ts +0 -39
  510. package/dist/core/security/validation.d.ts +0 -251
  511. package/dist/core/security/xss.d.ts +0 -20
  512. package/dist/core/session/index.d.ts +0 -35
  513. package/dist/core/types/auth.d.ts +0 -290
  514. package/dist/core/types/errors.d.ts +0 -200
  515. package/dist/core/types/index.d.ts +0 -462
  516. package/dist/core/utils/auth-helpers.d.ts +0 -136
  517. package/dist/core/utils/logger.d.ts +0 -121
  518. package/dist/handlers/api.d.ts +0 -10
  519. package/dist/handlers/route.d.ts +0 -76
  520. package/dist/index/index.js +0 -1
  521. package/dist/index/index.mjs +0 -2229
  522. package/dist/index.d.ts +0 -21
  523. package/dist/middleware/index.d.ts +0 -28
  524. package/dist/middleware/proxy.d.ts +0 -53
  525. package/dist/middleware/security.d.ts +0 -9
  526. package/dist/mulguard.d.ts +0 -373
  527. package/dist/oauth-state-DKle8eCr.mjs +0 -289
  528. package/dist/oauth-state-DlvrCV11.js +0 -1
  529. package/dist/server/actions.d.ts +0 -86
  530. package/dist/server/auth.d.ts +0 -65
  531. package/dist/server/cookies.d.ts +0 -42
  532. package/dist/server/helpers.d.ts +0 -10
  533. package/dist/server/index.d.ts +0 -14
  534. package/dist/server/index.js +0 -1
  535. package/dist/server/index.mjs +0 -31
  536. package/dist/server/middleware.d.ts +0 -39
  537. package/dist/server/oauth-state.d.ts +0 -30
  538. package/dist/server/session-helpers.d.ts +0 -26
  539. package/dist/server/session.d.ts +0 -28
  540. package/dist/server/utils.d.ts +0 -10
package/dist/index.d.ts DELETED
@@ -1,21 +0,0 @@
1
- /**
2
- * mulguard
3
- * Modern authentication library for Next.js
4
- *
5
- * This is the **server-safe** entrypoint. It must NOT import React
6
- * or any client-only hooks/components, otherwise Next.js will treat
7
- * anything that imports `mulguard` as a Client Component.
8
- *
9
- * - Server / shared functionality is exported from here.
10
- * - React hooks & components are exposed via subpath exports:
11
- * - `mulguard/client` for hooks & provider
12
- * - (future) `mulguard/components/*` for UI components
13
- */
14
- export * from './core';
15
- export * from './mulguard';
16
- export * from './server';
17
- export * from './handlers/route';
18
- export * from './handlers/api';
19
- export * from './middleware';
20
- export { createProxyMiddleware, checkRole as checkRoleProxy, } from './middleware/proxy';
21
- export * from './middleware/security';
@@ -1,28 +0,0 @@
1
- import { NextResponse, NextRequest } from 'next/server';
2
- import { MulguardInstance } from '../mulguard';
3
- export interface AuthMiddlewareConfig {
4
- /**
5
- * Protected routes - require authentication
6
- */
7
- protectedRoutes?: string[];
8
- /**
9
- * Public routes - accessible without authentication
10
- */
11
- publicRoutes?: string[];
12
- /**
13
- * Redirect to login if not authenticated
14
- */
15
- redirectTo?: string;
16
- /**
17
- * Redirect to home if authenticated (for login/register pages)
18
- */
19
- redirectIfAuthenticated?: string;
20
- }
21
- /**
22
- * Create authentication middleware
23
- */
24
- export declare function createAuthMiddleware(auth: MulguardInstance, config?: AuthMiddlewareConfig): (request: NextRequest) => Promise<NextResponse<unknown>>;
25
- /**
26
- * Helper to check if user has required role
27
- */
28
- export declare function checkRole(auth: MulguardInstance, requiredRole: string): Promise<boolean>;
@@ -1,53 +0,0 @@
1
- import { NextResponse, NextRequest } from 'next/server';
2
- import { MulguardInstance } from '../mulguard';
3
- export interface ProxyMiddlewareConfig {
4
- /**
5
- * Auth instance
6
- */
7
- auth: MulguardInstance;
8
- /**
9
- * Protected routes - require authentication
10
- */
11
- protectedRoutes?: string[];
12
- /**
13
- * Public routes - accessible without authentication
14
- */
15
- publicRoutes?: string[];
16
- /**
17
- * Redirect to login if not authenticated
18
- */
19
- redirectTo?: string;
20
- /**
21
- * Redirect to home if authenticated (for login/register pages)
22
- */
23
- redirectIfAuthenticated?: string;
24
- /**
25
- * API routes prefix (default: '/api/auth')
26
- */
27
- apiPrefix?: string;
28
- }
29
- /**
30
- * Create proxy middleware for authentication
31
- *
32
- * @example
33
- * ```typescript
34
- * // middleware.ts
35
- * import { auth } from '@/auth'
36
- * import { createProxyMiddleware } from 'mulguard/middleware/proxy'
37
- *
38
- * export default createProxyMiddleware({
39
- * auth,
40
- * protectedRoutes: ['/dashboard', '/profile'],
41
- * redirectTo: '/login',
42
- * })
43
- *
44
- * export const config = {
45
- * matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
46
- * }
47
- * ```
48
- */
49
- export declare function createProxyMiddleware(config: ProxyMiddlewareConfig): (request: NextRequest) => Promise<NextResponse<unknown>>;
50
- /**
51
- * Helper to check if user has required role
52
- */
53
- export declare function checkRole(auth: MulguardInstance, requiredRole: string): Promise<boolean>;
@@ -1,9 +0,0 @@
1
- import { NextResponse, NextRequest } from 'next/server';
2
- /**
3
- * Apply security headers to response
4
- */
5
- export declare function withSecurityHeaders(_request: NextRequest, response: NextResponse): NextResponse;
6
- /**
7
- * Security middleware wrapper
8
- */
9
- export declare function createSecurityMiddleware(): (request: NextRequest) => Promise<NextResponse>;
@@ -1,373 +0,0 @@
1
- import { MulguardConfig, Session, AuthResult, EmailCredentials, RegisterData, Verify2FAData, User, SessionConfig } from './core/types';
2
- /**
3
- * Main Mulguard authentication instance interface
4
- *
5
- * Provides all authentication methods using Server Actions
6
- * User implements custom logic in the config
7
- *
8
- * @example
9
- * ```typescript
10
- * const auth = mulguard({
11
- * actions: {
12
- * signIn: {
13
- * email: async (credentials) => {
14
- * // Your custom sign in logic
15
- * const user = await db.user.findUnique({ where: { email: credentials.email } })
16
- * if (!user || !await bcrypt.compare(credentials.password, user.password)) {
17
- * return { success: false, error: 'Invalid credentials' }
18
- * }
19
- * return { success: true, user, session: { user, expiresAt: new Date() } }
20
- * }
21
- * }
22
- * }
23
- * })
24
- * ```
25
- */
26
- export interface MulguardInstance {
27
- /**
28
- * Get current session
29
- * Uses custom getSession action if provided, otherwise falls back to reading from cookie
30
- */
31
- getSession(): Promise<Session | null>;
32
- /**
33
- * Get access token from current session
34
- */
35
- getAccessToken(): Promise<string | null>;
36
- /**
37
- * Get refresh token from current session
38
- */
39
- getRefreshToken(): Promise<string | null>;
40
- /**
41
- * Check if session has valid tokens
42
- */
43
- hasValidTokens(): Promise<boolean>;
44
- /**
45
- * Set session directly (useful for Server Actions)
46
- * Saves session to cookie automatically
47
- *
48
- * @param session - Session object to save
49
- * @returns Result indicating success or failure
50
- *
51
- * @example
52
- * ```typescript
53
- * const result = await auth.setSession(newSession)
54
- * if (!result.success) {
55
- * console.warn('Failed to save session:', result.error)
56
- * }
57
- * ```
58
- */
59
- setSession(session: Session): Promise<{
60
- success: boolean;
61
- error?: string;
62
- warning?: string;
63
- }>;
64
- /**
65
- * Internal method to get session config for Server Actions
66
- * Used by verify2FAAction to save session cookie directly
67
- * @internal
68
- */
69
- _getSessionConfig(): {
70
- cookieName: string;
71
- config: SessionConfig;
72
- };
73
- /**
74
- * Internal method to get callbacks for Server Actions
75
- * Used by Server Actions to execute callbacks
76
- * @internal
77
- */
78
- _getCallbacks?(): import('./core/types').CallbacksConfig;
79
- /**
80
- * Internal method to get token refresh manager
81
- * Used by HttpClient for automatic token refresh
82
- * @internal
83
- */
84
- _getTokenRefreshManager?(): import('./core/client/token-refresh-manager').TokenRefreshManager | undefined;
85
- /**
86
- * Unified sign in method - supports both unified and direct method calls
87
- *
88
- * @example
89
- * ```typescript
90
- * // Unified interface (auth.js-like)
91
- * await auth.signIn('google')
92
- * await auth.signIn('credentials', { email: 'user@example.com', password: 'password' })
93
- * await auth.signIn('otp', { email: 'user@example.com', code: '123456' })
94
- *
95
- * // Direct methods (for backward compatibility)
96
- * await auth.signIn.email({ email: 'user@example.com', password: 'password' })
97
- * await auth.signIn.oauth('google')
98
- * ```
99
- */
100
- signIn: {
101
- /**
102
- * Unified sign in function - supports provider-based and direct method calls
103
- */
104
- (provider: 'google' | 'github' | 'apple' | 'facebook' | string): Promise<{
105
- url: string;
106
- state: string;
107
- }>;
108
- (provider: 'credentials', credentials: EmailCredentials): Promise<AuthResult>;
109
- (provider: 'otp', options: {
110
- email: string;
111
- code?: string;
112
- }): Promise<AuthResult>;
113
- (provider: 'passkey', options?: {
114
- userId?: string;
115
- }): Promise<AuthResult>;
116
- /**
117
- * Sign in with email and password (direct method)
118
- * Executes custom email action from config
119
- */
120
- email(credentials: EmailCredentials): Promise<AuthResult>;
121
- /**
122
- * Initiate OAuth sign in flow (direct method)
123
- * Executes custom oauth action from config
124
- */
125
- oauth?(provider: string): Promise<{
126
- url: string;
127
- state: string;
128
- }>;
129
- /**
130
- * Sign in with PassKey/WebAuthn (direct method)
131
- * Executes custom passkey action from config
132
- */
133
- passkey?(options?: {
134
- userId?: string;
135
- }): Promise<AuthResult>;
136
- /**
137
- * Sign in with OTP (direct method)
138
- * Executes custom otp action from config
139
- */
140
- otp?(email: string, code?: string): Promise<AuthResult>;
141
- };
142
- /**
143
- * Sign in methods - uses custom actions from config (legacy interface)
144
- */
145
- signInMethods: {
146
- /**
147
- * Sign in with email and password
148
- * Executes custom email action from config
149
- */
150
- email(credentials: EmailCredentials): Promise<AuthResult>;
151
- /**
152
- * Initiate OAuth sign in flow
153
- * Executes custom oauth action from config
154
- */
155
- oauth?(provider: string): Promise<{
156
- url: string;
157
- state: string;
158
- }>;
159
- /**
160
- * Sign in with PassKey/WebAuthn
161
- * Executes custom passkey action from config
162
- */
163
- passkey?(options?: {
164
- userId?: string;
165
- }): Promise<AuthResult>;
166
- /**
167
- * Sign in with OTP
168
- * Executes custom otp action from config
169
- */
170
- otp?(email: string, code?: string): Promise<AuthResult>;
171
- };
172
- /**
173
- * Register new user
174
- * Executes custom signUp action from config
175
- */
176
- signUp?(data: RegisterData): Promise<AuthResult>;
177
- /**
178
- * Sign out current session
179
- * Executes custom signOut action from config
180
- */
181
- signOut(): Promise<{
182
- success: boolean;
183
- error?: string;
184
- }>;
185
- /**
186
- * Request password reset
187
- * Executes custom resetPassword action from config
188
- */
189
- resetPassword?(email: string): Promise<{
190
- success: boolean;
191
- error?: string;
192
- }>;
193
- /**
194
- * Verify email address with token
195
- * Executes custom verifyEmail action from config
196
- */
197
- verifyEmail?(token: string): Promise<{
198
- success: boolean;
199
- error?: string;
200
- }>;
201
- /**
202
- * Refresh session
203
- * Executes custom refreshSession action from config with improved error handling
204
- */
205
- refreshSession?(): Promise<Session | null>;
206
- /**
207
- * OAuth callback handler
208
- * Executes custom oauthCallback action from config
209
- */
210
- oauthCallback?(provider: string, code: string, state: string): Promise<AuthResult>;
211
- /**
212
- * Store OAuth state for validation (useful when using external backend API)
213
- * This allows storing state generated by backend APIs in mulguard's state store
214
- *
215
- * @param state - OAuth state token
216
- * @param provider - OAuth provider name
217
- */
218
- storeOAuthState?(state: string, provider: string): Promise<void>;
219
- /**
220
- * PassKey methods
221
- */
222
- passkey?: {
223
- register?(options?: {
224
- name?: string;
225
- userId?: string;
226
- }): Promise<{
227
- success: boolean;
228
- passkeyId?: string;
229
- error?: string;
230
- }>;
231
- authenticate?(options?: {
232
- userId?: string;
233
- }): Promise<AuthResult>;
234
- list?(): Promise<Array<{
235
- id: string;
236
- name: string;
237
- createdAt: Date;
238
- lastUsedAt?: Date;
239
- }>>;
240
- remove?(passKeyId: string): Promise<{
241
- success: boolean;
242
- error?: string;
243
- }>;
244
- };
245
- /**
246
- * Two-Factor Authentication methods
247
- */
248
- twoFactor?: {
249
- enable?(): Promise<{
250
- success: boolean;
251
- qrCode?: string;
252
- secret?: string;
253
- error?: string;
254
- }>;
255
- verify?(code: string): Promise<{
256
- success: boolean;
257
- backupCodes?: string[];
258
- error?: string;
259
- }>;
260
- disable?(): Promise<{
261
- success: boolean;
262
- error?: string;
263
- }>;
264
- generateBackupCodes?(): Promise<{
265
- success: boolean;
266
- backupCodes?: string[];
267
- error?: string;
268
- }>;
269
- isEnabled?(): Promise<boolean>;
270
- /**
271
- * Verify 2FA code after initial sign in
272
- * Used when signIn returns requires2FA: true
273
- */
274
- verify2FA?(data: Verify2FAData): Promise<AuthResult>;
275
- };
276
- /**
277
- * Verify 2FA code after initial sign in
278
- * Used when signIn returns requires2FA: true
279
- *
280
- * @param data - 2FA verification data
281
- * @param options - Optional configuration
282
- * @param options.skipCookieSave - If true, skip automatic cookie saving (useful for Server Actions)
283
- */
284
- verify2FA?(data: Verify2FAData, options?: {
285
- skipCookieSave?: boolean;
286
- }): Promise<AuthResult>;
287
- /**
288
- * Account Picker methods (optional)
289
- * For remembering last logged-in users
290
- */
291
- accountPicker?: {
292
- getLastUsers(): Promise<import('./core/types').RememberedUser[]>;
293
- rememberUser(user: User, provider?: 'email' | 'oauth' | 'passkey'): Promise<void>;
294
- clearUser(userId: string): Promise<void>;
295
- clearAll(): Promise<void>;
296
- };
297
- }
298
- /**
299
- * Create Mulguard instance with custom authentication actions
300
- *
301
- * @example
302
- * ```typescript
303
- * // lib/auth.ts
304
- * import { mulguard } from 'mulguard'
305
- *
306
- * export const auth = mulguard({
307
- * session: {
308
- * cookieName: '__mulguard_session',
309
- * expiresIn: 60 * 60 * 24 * 7, // 7 days
310
- * },
311
- * actions: {
312
- * signIn: {
313
- * email: async (credentials) => {
314
- * // Your custom sign in logic
315
- * // Connect to your database, validate credentials, etc.
316
- * const user = await yourDb.findUser(credentials.email)
317
- * if (!user || !await verifyPassword(credentials.password, user.password)) {
318
- * return { success: false, error: 'Invalid credentials' }
319
- * }
320
- *
321
- * const session = {
322
- * user,
323
- * expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)
324
- * }
325
- *
326
- * return { success: true, user, session }
327
- * }
328
- * },
329
- * signUp: async (data) => {
330
- * // Your custom sign up logic
331
- * const user = await yourDb.createUser(data)
332
- * return { success: true, user }
333
- * },
334
- * signOut: async () => {
335
- * // Your custom sign out logic
336
- * await yourDb.invalidateSession()
337
- * return { success: true }
338
- * },
339
- * getSession: async () => {
340
- * // Your custom session retrieval logic
341
- * return await yourDb.getSession()
342
- * }
343
- * }
344
- * })
345
- * ```
346
- */
347
- /**
348
- * Creates a Mulguard authentication instance.
349
- *
350
- * @template TUser - User type (extends base User)
351
- * @template TSession - Session type (extends base Session)
352
- * @param config - Mulguard configuration
353
- * @returns Mulguard instance
354
- *
355
- * @example
356
- * ```typescript
357
- * const auth = mulguard({
358
- * actions: {
359
- * signIn: {
360
- * email: async (credentials) => {
361
- * // Your custom sign in logic
362
- * const user = await db.user.findUnique({ where: { email: credentials.email } })
363
- * if (!user || !await bcrypt.compare(credentials.password, user.password)) {
364
- * return { success: false, error: 'Invalid credentials' }
365
- * }
366
- * return { success: true, user, session: { user, expiresAt: new Date() } }
367
- * }
368
- * }
369
- * }
370
- * })
371
- * ```
372
- */
373
- export declare function mulguard<TUser extends User = User, TSession extends Session<TUser> = Session<TUser>>(config: MulguardConfig<TUser, TSession>): MulguardInstance;