@mulverse/mulguard-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/README.md +24 -0
  2. package/adapters.d.ts +522 -0
  3. package/adapters.d.ts.map +1 -0
  4. package/adapters.js +170 -0
  5. package/errors.d.ts +429 -0
  6. package/errors.d.ts.map +1 -0
  7. package/errors.js +473 -0
  8. package/index.d.ts +547 -0
  9. package/index.d.ts.map +1 -0
  10. package/index.js +142 -0
  11. package/jwt.d.ts +132 -0
  12. package/jwt.d.ts.map +1 -0
  13. package/jwt.js +123 -0
  14. package/lib/actions/callback/handle-login.d.ts +35 -0
  15. package/lib/actions/callback/handle-login.d.ts.map +1 -0
  16. package/lib/actions/callback/handle-login.js +275 -0
  17. package/lib/actions/callback/index.d.ts +5 -0
  18. package/lib/actions/callback/index.d.ts.map +1 -0
  19. package/lib/actions/callback/index.js +409 -0
  20. package/lib/actions/callback/oauth/callback.d.ts +36 -0
  21. package/lib/actions/callback/oauth/callback.d.ts.map +1 -0
  22. package/lib/actions/callback/oauth/callback.js +248 -0
  23. package/lib/actions/callback/oauth/checks.d.ts +70 -0
  24. package/lib/actions/callback/oauth/checks.d.ts.map +1 -0
  25. package/lib/actions/callback/oauth/checks.js +188 -0
  26. package/lib/actions/callback/oauth/csrf-token.d.ts +33 -0
  27. package/lib/actions/callback/oauth/csrf-token.d.ts.map +1 -0
  28. package/lib/actions/callback/oauth/csrf-token.js +39 -0
  29. package/lib/actions/index.d.ts +6 -0
  30. package/lib/actions/index.d.ts.map +1 -0
  31. package/lib/actions/index.js +5 -0
  32. package/lib/actions/session.d.ts +5 -0
  33. package/lib/actions/session.d.ts.map +1 -0
  34. package/lib/actions/session.js +127 -0
  35. package/lib/actions/signin/authorization-url.d.ts +12 -0
  36. package/lib/actions/signin/authorization-url.d.ts.map +1 -0
  37. package/lib/actions/signin/authorization-url.js +94 -0
  38. package/lib/actions/signin/index.d.ts +4 -0
  39. package/lib/actions/signin/index.d.ts.map +1 -0
  40. package/lib/actions/signin/index.js +22 -0
  41. package/lib/actions/signin/send-token.d.ts +10 -0
  42. package/lib/actions/signin/send-token.d.ts.map +1 -0
  43. package/lib/actions/signin/send-token.js +98 -0
  44. package/lib/actions/signout.d.ts +11 -0
  45. package/lib/actions/signout.d.ts.map +1 -0
  46. package/lib/actions/signout.js +30 -0
  47. package/lib/actions/webauthn-options.d.ts +8 -0
  48. package/lib/actions/webauthn-options.d.ts.map +1 -0
  49. package/lib/actions/webauthn-options.js +60 -0
  50. package/lib/index.d.ts +2 -0
  51. package/lib/index.d.ts.map +1 -0
  52. package/lib/index.js +70 -0
  53. package/lib/init.d.ts +25 -0
  54. package/lib/init.d.ts.map +1 -0
  55. package/lib/init.js +172 -0
  56. package/lib/pages/error.d.ts +17 -0
  57. package/lib/pages/error.d.ts.map +1 -0
  58. package/lib/pages/error.js +40 -0
  59. package/lib/pages/index.d.ts +42 -0
  60. package/lib/pages/index.d.ts.map +1 -0
  61. package/lib/pages/index.js +136 -0
  62. package/lib/pages/signin.d.ts +10 -0
  63. package/lib/pages/signin.d.ts.map +1 -0
  64. package/lib/pages/signin.js +75 -0
  65. package/lib/pages/signout.d.ts +8 -0
  66. package/lib/pages/signout.d.ts.map +1 -0
  67. package/lib/pages/signout.js +17 -0
  68. package/lib/pages/styles.d.ts +3 -0
  69. package/lib/pages/styles.d.ts.map +1 -0
  70. package/lib/pages/styles.js +381 -0
  71. package/lib/pages/verify-request.d.ts +8 -0
  72. package/lib/pages/verify-request.d.ts.map +1 -0
  73. package/lib/pages/verify-request.js +11 -0
  74. package/lib/symbols.d.ts +50 -0
  75. package/lib/symbols.d.ts.map +1 -0
  76. package/lib/symbols.js +57 -0
  77. package/lib/utils/actions.d.ts +3 -0
  78. package/lib/utils/actions.d.ts.map +1 -0
  79. package/lib/utils/actions.js +14 -0
  80. package/lib/utils/assert.d.ts +14 -0
  81. package/lib/utils/assert.d.ts.map +1 -0
  82. package/lib/utils/assert.js +168 -0
  83. package/lib/utils/callback-url.d.ts +17 -0
  84. package/lib/utils/callback-url.d.ts.map +1 -0
  85. package/lib/utils/callback-url.js +27 -0
  86. package/lib/utils/cookie.d.ts +111 -0
  87. package/lib/utils/cookie.d.ts.map +1 -0
  88. package/lib/utils/cookie.js +205 -0
  89. package/lib/utils/date.d.ts +7 -0
  90. package/lib/utils/date.d.ts.map +1 -0
  91. package/lib/utils/date.js +8 -0
  92. package/lib/utils/email.d.ts +20 -0
  93. package/lib/utils/email.d.ts.map +1 -0
  94. package/lib/utils/email.js +57 -0
  95. package/lib/utils/env.d.ts +9 -0
  96. package/lib/utils/env.d.ts.map +1 -0
  97. package/lib/utils/env.js +96 -0
  98. package/lib/utils/logger.d.ts +18 -0
  99. package/lib/utils/logger.d.ts.map +1 -0
  100. package/lib/utils/logger.js +50 -0
  101. package/lib/utils/merge.d.ts +3 -0
  102. package/lib/utils/merge.d.ts.map +1 -0
  103. package/lib/utils/merge.js +23 -0
  104. package/lib/utils/providers.d.ts +19 -0
  105. package/lib/utils/providers.d.ts.map +1 -0
  106. package/lib/utils/providers.js +149 -0
  107. package/lib/utils/session.d.ts +7 -0
  108. package/lib/utils/session.d.ts.map +1 -0
  109. package/lib/utils/session.js +29 -0
  110. package/lib/utils/web.d.ts +10 -0
  111. package/lib/utils/web.d.ts.map +1 -0
  112. package/lib/utils/web.js +109 -0
  113. package/lib/utils/webauthn-client.d.ts +30 -0
  114. package/lib/utils/webauthn-client.d.ts.map +1 -0
  115. package/lib/utils/webauthn-client.js +197 -0
  116. package/lib/utils/webauthn-utils.d.ts +81 -0
  117. package/lib/utils/webauthn-utils.d.ts.map +1 -0
  118. package/lib/utils/webauthn-utils.js +343 -0
  119. package/lib/vendored/cookie.d.ts +120 -0
  120. package/lib/vendored/cookie.d.ts.map +1 -0
  121. package/lib/vendored/cookie.js +237 -0
  122. package/package.json +118 -0
  123. package/providers/42-school.d.ts +240 -0
  124. package/providers/42-school.d.ts.map +1 -0
  125. package/providers/42-school.js +78 -0
  126. package/providers/apple.d.ts +149 -0
  127. package/providers/apple.d.ts.map +1 -0
  128. package/providers/apple.js +104 -0
  129. package/providers/asgardeo.d.ts +102 -0
  130. package/providers/asgardeo.d.ts.map +1 -0
  131. package/providers/asgardeo.js +93 -0
  132. package/providers/atlassian.d.ts +94 -0
  133. package/providers/atlassian.d.ts.map +1 -0
  134. package/providers/atlassian.js +84 -0
  135. package/providers/auth0.d.ts +116 -0
  136. package/providers/auth0.d.ts.map +1 -0
  137. package/providers/auth0.js +49 -0
  138. package/providers/authentik.d.ts +90 -0
  139. package/providers/authentik.d.ts.map +1 -0
  140. package/providers/authentik.js +65 -0
  141. package/providers/azure-ad-b2c.d.ts +104 -0
  142. package/providers/azure-ad-b2c.d.ts.map +1 -0
  143. package/providers/azure-ad-b2c.js +100 -0
  144. package/providers/azure-ad.d.ts +19 -0
  145. package/providers/azure-ad.d.ts.map +1 -0
  146. package/providers/azure-ad.js +23 -0
  147. package/providers/azure-devops.d.ts +128 -0
  148. package/providers/azure-devops.d.ts.map +1 -0
  149. package/providers/azure-devops.js +158 -0
  150. package/providers/bankid-no.d.ts +134 -0
  151. package/providers/bankid-no.d.ts.map +1 -0
  152. package/providers/bankid-no.js +65 -0
  153. package/providers/battlenet.d.ts +85 -0
  154. package/providers/battlenet.d.ts.map +1 -0
  155. package/providers/battlenet.js +81 -0
  156. package/providers/beyondidentity.d.ts +77 -0
  157. package/providers/beyondidentity.d.ts.map +1 -0
  158. package/providers/beyondidentity.js +84 -0
  159. package/providers/bitbucket.d.ts +89 -0
  160. package/providers/bitbucket.d.ts.map +1 -0
  161. package/providers/bitbucket.js +92 -0
  162. package/providers/box.d.ts +63 -0
  163. package/providers/box.d.ts.map +1 -0
  164. package/providers/box.js +73 -0
  165. package/providers/boxyhq-saml.d.ts +121 -0
  166. package/providers/boxyhq-saml.d.ts.map +1 -0
  167. package/providers/boxyhq-saml.js +127 -0
  168. package/providers/bungie.d.ts +167 -0
  169. package/providers/bungie.d.ts.map +1 -0
  170. package/providers/bungie.js +174 -0
  171. package/providers/click-up.d.ts +75 -0
  172. package/providers/click-up.d.ts.map +1 -0
  173. package/providers/click-up.js +89 -0
  174. package/providers/cognito.d.ts +81 -0
  175. package/providers/cognito.d.ts.map +1 -0
  176. package/providers/cognito.js +73 -0
  177. package/providers/coinbase.d.ts +69 -0
  178. package/providers/coinbase.d.ts.map +1 -0
  179. package/providers/coinbase.js +78 -0
  180. package/providers/concept2.d.ts +81 -0
  181. package/providers/concept2.d.ts.map +1 -0
  182. package/providers/concept2.js +86 -0
  183. package/providers/credentials.d.ts +132 -0
  184. package/providers/credentials.d.ts.map +1 -0
  185. package/providers/credentials.js +74 -0
  186. package/providers/descope.d.ts +91 -0
  187. package/providers/descope.d.ts.map +1 -0
  188. package/providers/descope.js +78 -0
  189. package/providers/discord.d.ts +139 -0
  190. package/providers/discord.d.ts.map +1 -0
  191. package/providers/discord.js +86 -0
  192. package/providers/dribbble.d.ts +88 -0
  193. package/providers/dribbble.d.ts.map +1 -0
  194. package/providers/dribbble.js +85 -0
  195. package/providers/dropbox.d.ts +65 -0
  196. package/providers/dropbox.d.ts.map +1 -0
  197. package/providers/dropbox.js +88 -0
  198. package/providers/duende-identity-server6.d.ts +91 -0
  199. package/providers/duende-identity-server6.d.ts.map +1 -0
  200. package/providers/duende-identity-server6.js +80 -0
  201. package/providers/email.d.ts +41 -0
  202. package/providers/email.d.ts.map +1 -0
  203. package/providers/email.js +18 -0
  204. package/providers/eventbrite.d.ts +78 -0
  205. package/providers/eventbrite.d.ts.map +1 -0
  206. package/providers/eventbrite.js +88 -0
  207. package/providers/eveonline.d.ts +94 -0
  208. package/providers/eveonline.d.ts.map +1 -0
  209. package/providers/eveonline.js +92 -0
  210. package/providers/facebook.d.ts +84 -0
  211. package/providers/facebook.d.ts.map +1 -0
  212. package/providers/facebook.js +93 -0
  213. package/providers/faceit.d.ts +64 -0
  214. package/providers/faceit.d.ts.map +1 -0
  215. package/providers/faceit.js +74 -0
  216. package/providers/figma.d.ts +75 -0
  217. package/providers/figma.d.ts.map +1 -0
  218. package/providers/figma.js +81 -0
  219. package/providers/forwardemail.d.ts +4 -0
  220. package/providers/forwardemail.d.ts.map +1 -0
  221. package/providers/forwardemail.js +32 -0
  222. package/providers/foursquare.d.ts +71 -0
  223. package/providers/foursquare.d.ts.map +1 -0
  224. package/providers/foursquare.js +91 -0
  225. package/providers/freshbooks.d.ts +66 -0
  226. package/providers/freshbooks.d.ts.map +1 -0
  227. package/providers/freshbooks.js +76 -0
  228. package/providers/frontegg.d.ts +95 -0
  229. package/providers/frontegg.d.ts.map +1 -0
  230. package/providers/frontegg.js +88 -0
  231. package/providers/fusionauth.d.ts +279 -0
  232. package/providers/fusionauth.d.ts.map +1 -0
  233. package/providers/fusionauth.js +292 -0
  234. package/providers/github.d.ts +127 -0
  235. package/providers/github.d.ts.map +1 -0
  236. package/providers/github.js +115 -0
  237. package/providers/gitlab.d.ts +115 -0
  238. package/providers/gitlab.d.ts.map +1 -0
  239. package/providers/gitlab.js +75 -0
  240. package/providers/google.d.ts +138 -0
  241. package/providers/google.d.ts.map +1 -0
  242. package/providers/google.js +119 -0
  243. package/providers/hubspot.d.ts +76 -0
  244. package/providers/hubspot.d.ts.map +1 -0
  245. package/providers/hubspot.js +93 -0
  246. package/providers/huggingface.d.ts +216 -0
  247. package/providers/huggingface.d.ts.map +1 -0
  248. package/providers/huggingface.js +101 -0
  249. package/providers/identity-server4.d.ts +69 -0
  250. package/providers/identity-server4.d.ts.map +1 -0
  251. package/providers/identity-server4.js +64 -0
  252. package/providers/index.d.ts +61 -0
  253. package/providers/index.d.ts.map +1 -0
  254. package/providers/index.js +3 -0
  255. package/providers/instagram.d.ts +74 -0
  256. package/providers/instagram.d.ts.map +1 -0
  257. package/providers/instagram.js +87 -0
  258. package/providers/kakao.d.ts +148 -0
  259. package/providers/kakao.d.ts.map +1 -0
  260. package/providers/kakao.js +103 -0
  261. package/providers/keycloak.d.ts +100 -0
  262. package/providers/keycloak.d.ts.map +1 -0
  263. package/providers/keycloak.js +73 -0
  264. package/providers/kinde.d.ts +73 -0
  265. package/providers/kinde.d.ts.map +1 -0
  266. package/providers/kinde.js +51 -0
  267. package/providers/line.d.ts +83 -0
  268. package/providers/line.d.ts.map +1 -0
  269. package/providers/line.js +73 -0
  270. package/providers/linkedin.d.ts +77 -0
  271. package/providers/linkedin.d.ts.map +1 -0
  272. package/providers/linkedin.js +65 -0
  273. package/providers/logto.d.ts +98 -0
  274. package/providers/logto.d.ts.map +1 -0
  275. package/providers/logto.js +81 -0
  276. package/providers/loops.d.ts +40 -0
  277. package/providers/loops.d.ts.map +1 -0
  278. package/providers/loops.js +59 -0
  279. package/providers/mailchimp.d.ts +66 -0
  280. package/providers/mailchimp.d.ts.map +1 -0
  281. package/providers/mailchimp.js +76 -0
  282. package/providers/mailgun.d.ts +55 -0
  283. package/providers/mailgun.d.ts.map +1 -0
  284. package/providers/mailgun.js +74 -0
  285. package/providers/mailru.d.ts +63 -0
  286. package/providers/mailru.d.ts.map +1 -0
  287. package/providers/mailru.js +61 -0
  288. package/providers/mastodon.d.ts +90 -0
  289. package/providers/mastodon.d.ts.map +1 -0
  290. package/providers/mastodon.js +75 -0
  291. package/providers/mattermost.d.ts +132 -0
  292. package/providers/mattermost.d.ts.map +1 -0
  293. package/providers/mattermost.js +83 -0
  294. package/providers/medium.d.ts +68 -0
  295. package/providers/medium.d.ts.map +1 -0
  296. package/providers/medium.js +84 -0
  297. package/providers/microsoft-entra-id.d.ts +428 -0
  298. package/providers/microsoft-entra-id.d.ts.map +1 -0
  299. package/providers/microsoft-entra-id.js +156 -0
  300. package/providers/naver.d.ts +80 -0
  301. package/providers/naver.d.ts.map +1 -0
  302. package/providers/naver.js +79 -0
  303. package/providers/netlify.d.ts +66 -0
  304. package/providers/netlify.d.ts.map +1 -0
  305. package/providers/netlify.js +85 -0
  306. package/providers/netsuite.d.ts +189 -0
  307. package/providers/netsuite.d.ts.map +1 -0
  308. package/providers/netsuite.js +170 -0
  309. package/providers/nextcloud.d.ts +150 -0
  310. package/providers/nextcloud.d.ts.map +1 -0
  311. package/providers/nextcloud.js +99 -0
  312. package/providers/nodemailer.d.ts +27 -0
  313. package/providers/nodemailer.d.ts.map +1 -0
  314. package/providers/nodemailer.js +34 -0
  315. package/providers/notion.d.ts +99 -0
  316. package/providers/notion.d.ts.map +1 -0
  317. package/providers/notion.js +110 -0
  318. package/providers/oauth.d.ts +188 -0
  319. package/providers/oauth.d.ts.map +1 -0
  320. package/providers/oauth.js +1 -0
  321. package/providers/okta.d.ts +99 -0
  322. package/providers/okta.d.ts.map +1 -0
  323. package/providers/okta.js +63 -0
  324. package/providers/onelogin.d.ts +65 -0
  325. package/providers/onelogin.d.ts.map +1 -0
  326. package/providers/onelogin.js +61 -0
  327. package/providers/ory-hydra.d.ts +79 -0
  328. package/providers/ory-hydra.d.ts.map +1 -0
  329. package/providers/ory-hydra.js +67 -0
  330. package/providers/osso.d.ts +79 -0
  331. package/providers/osso.d.ts.map +1 -0
  332. package/providers/osso.js +77 -0
  333. package/providers/osu.d.ts +116 -0
  334. package/providers/osu.d.ts.map +1 -0
  335. package/providers/osu.js +75 -0
  336. package/providers/passage.d.ts +88 -0
  337. package/providers/passage.d.ts.map +1 -0
  338. package/providers/passage.js +75 -0
  339. package/providers/passkey.d.ts +65 -0
  340. package/providers/passkey.d.ts.map +1 -0
  341. package/providers/passkey.js +87 -0
  342. package/providers/patreon.d.ts +73 -0
  343. package/providers/patreon.d.ts.map +1 -0
  344. package/providers/patreon.js +77 -0
  345. package/providers/ping-id.d.ts +57 -0
  346. package/providers/ping-id.d.ts.map +1 -0
  347. package/providers/ping-id.js +40 -0
  348. package/providers/pinterest.d.ts +79 -0
  349. package/providers/pinterest.d.ts.map +1 -0
  350. package/providers/pinterest.js +85 -0
  351. package/providers/pipedrive.d.ts +99 -0
  352. package/providers/pipedrive.d.ts.map +1 -0
  353. package/providers/pipedrive.js +71 -0
  354. package/providers/postmark.d.ts +4 -0
  355. package/providers/postmark.d.ts.map +1 -0
  356. package/providers/postmark.js +36 -0
  357. package/providers/provider-types.d.ts +3 -0
  358. package/providers/provider-types.d.ts.map +1 -0
  359. package/providers/provider-types.js +1 -0
  360. package/providers/reddit.d.ts +88 -0
  361. package/providers/reddit.d.ts.map +1 -0
  362. package/providers/reddit.js +90 -0
  363. package/providers/resend.d.ts +4 -0
  364. package/providers/resend.d.ts.map +1 -0
  365. package/providers/resend.js +32 -0
  366. package/providers/roblox.d.ts +67 -0
  367. package/providers/roblox.d.ts.map +1 -0
  368. package/providers/roblox.js +53 -0
  369. package/providers/salesforce.d.ts +59 -0
  370. package/providers/salesforce.d.ts.map +1 -0
  371. package/providers/salesforce.js +52 -0
  372. package/providers/sendgrid.d.ts +4 -0
  373. package/providers/sendgrid.d.ts.map +1 -0
  374. package/providers/sendgrid.js +35 -0
  375. package/providers/simplelogin.d.ts +87 -0
  376. package/providers/simplelogin.d.ts.map +1 -0
  377. package/providers/simplelogin.js +83 -0
  378. package/providers/slack.d.ts +102 -0
  379. package/providers/slack.d.ts.map +1 -0
  380. package/providers/slack.js +69 -0
  381. package/providers/spotify.d.ts +75 -0
  382. package/providers/spotify.d.ts.map +1 -0
  383. package/providers/spotify.js +73 -0
  384. package/providers/strava.d.ts +68 -0
  385. package/providers/strava.d.ts.map +1 -0
  386. package/providers/strava.js +80 -0
  387. package/providers/threads.d.ts +108 -0
  388. package/providers/threads.d.ts.map +1 -0
  389. package/providers/threads.js +89 -0
  390. package/providers/tiktok.d.ts +248 -0
  391. package/providers/tiktok.d.ts.map +1 -0
  392. package/providers/tiktok.js +195 -0
  393. package/providers/todoist.d.ts +76 -0
  394. package/providers/todoist.d.ts.map +1 -0
  395. package/providers/todoist.js +97 -0
  396. package/providers/trakt.d.ts +93 -0
  397. package/providers/trakt.d.ts.map +1 -0
  398. package/providers/trakt.js +91 -0
  399. package/providers/twitch.d.ts +71 -0
  400. package/providers/twitch.d.ts.map +1 -0
  401. package/providers/twitch.js +96 -0
  402. package/providers/twitter.d.ts +183 -0
  403. package/providers/twitter.d.ts.map +1 -0
  404. package/providers/twitter.js +100 -0
  405. package/providers/united-effects.d.ts +80 -0
  406. package/providers/united-effects.d.ts.map +1 -0
  407. package/providers/united-effects.js +72 -0
  408. package/providers/vipps.d.ts +71 -0
  409. package/providers/vipps.d.ts.map +1 -0
  410. package/providers/vipps.js +33 -0
  411. package/providers/vk.d.ts +334 -0
  412. package/providers/vk.d.ts.map +1 -0
  413. package/providers/vk.js +103 -0
  414. package/providers/webauthn.d.ts +148 -0
  415. package/providers/webauthn.d.ts.map +1 -0
  416. package/providers/webauthn.js +128 -0
  417. package/providers/webex.d.ts +78 -0
  418. package/providers/webex.d.ts.map +1 -0
  419. package/providers/webex.js +73 -0
  420. package/providers/wechat.d.ts +78 -0
  421. package/providers/wechat.d.ts.map +1 -0
  422. package/providers/wechat.js +105 -0
  423. package/providers/wikimedia.d.ts +99 -0
  424. package/providers/wikimedia.d.ts.map +1 -0
  425. package/providers/wikimedia.js +90 -0
  426. package/providers/wordpress.d.ts +65 -0
  427. package/providers/wordpress.d.ts.map +1 -0
  428. package/providers/wordpress.js +71 -0
  429. package/providers/workos.d.ts +154 -0
  430. package/providers/workos.d.ts.map +1 -0
  431. package/providers/workos.js +143 -0
  432. package/providers/yandex.d.ts +131 -0
  433. package/providers/yandex.d.ts.map +1 -0
  434. package/providers/yandex.js +80 -0
  435. package/providers/zitadel.d.ts +117 -0
  436. package/providers/zitadel.d.ts.map +1 -0
  437. package/providers/zitadel.js +95 -0
  438. package/providers/zoho.d.ts +63 -0
  439. package/providers/zoho.d.ts.map +1 -0
  440. package/providers/zoho.js +79 -0
  441. package/providers/zoom.d.ts +93 -0
  442. package/providers/zoom.d.ts.map +1 -0
  443. package/providers/zoom.js +82 -0
  444. package/src/adapters/server-actions-helpers.ts +126 -0
  445. package/src/adapters.ts +603 -0
  446. package/src/errors.ts +551 -0
  447. package/src/index.ts +689 -0
  448. package/src/jwt.ts +283 -0
  449. package/src/lib/actions/callback/handle-login.ts +334 -0
  450. package/src/lib/actions/callback/index.ts +554 -0
  451. package/src/lib/actions/callback/oauth/callback.ts +347 -0
  452. package/src/lib/actions/callback/oauth/checks.ts +258 -0
  453. package/src/lib/actions/callback/oauth/csrf-token.ts +60 -0
  454. package/src/lib/actions/index.ts +5 -0
  455. package/src/lib/actions/session.ts +167 -0
  456. package/src/lib/actions/signin/authorization-url.ts +123 -0
  457. package/src/lib/actions/signin/index.ts +37 -0
  458. package/src/lib/actions/signin/send-token.ts +124 -0
  459. package/src/lib/actions/signout.ts +38 -0
  460. package/src/lib/actions/webauthn-options.ts +100 -0
  461. package/src/lib/index.ts +97 -0
  462. package/src/lib/init.ts +236 -0
  463. package/src/lib/pages/error.tsx +106 -0
  464. package/src/lib/pages/index.ts +181 -0
  465. package/src/lib/pages/signin.tsx +255 -0
  466. package/src/lib/pages/signout.tsx +49 -0
  467. package/src/lib/pages/styles.css +377 -0
  468. package/src/lib/pages/styles.ts +381 -0
  469. package/src/lib/pages/verify-request.tsx +36 -0
  470. package/src/lib/symbols.ts +60 -0
  471. package/src/lib/utils/actions.ts +17 -0
  472. package/src/lib/utils/assert.ts +259 -0
  473. package/src/lib/utils/callback-url.ts +42 -0
  474. package/src/lib/utils/cookie.ts +248 -0
  475. package/src/lib/utils/date.ts +8 -0
  476. package/src/lib/utils/email.ts +65 -0
  477. package/src/lib/utils/env.ts +113 -0
  478. package/src/lib/utils/logger.ts +75 -0
  479. package/src/lib/utils/merge.ts +30 -0
  480. package/src/lib/utils/providers.ts +203 -0
  481. package/src/lib/utils/session.ts +41 -0
  482. package/src/lib/utils/web.ts +151 -0
  483. package/src/lib/utils/webauthn-client.js +229 -0
  484. package/src/lib/utils/webauthn-utils.ts +531 -0
  485. package/src/lib/vendored/cookie.ts +383 -0
  486. package/src/providers/42-school.ts +256 -0
  487. package/src/providers/apple.ts +206 -0
  488. package/src/providers/asgardeo.ts +118 -0
  489. package/src/providers/atlassian.ts +120 -0
  490. package/src/providers/auth0.ts +127 -0
  491. package/src/providers/authentik.ts +100 -0
  492. package/src/providers/azure-ad-b2c.ts +124 -0
  493. package/src/providers/azure-ad.ts +30 -0
  494. package/src/providers/azure-devops.ts +184 -0
  495. package/src/providers/bankid-no.ts +161 -0
  496. package/src/providers/battlenet.ts +107 -0
  497. package/src/providers/beyondidentity.ts +102 -0
  498. package/src/providers/bitbucket.ts +122 -0
  499. package/src/providers/box.ts +87 -0
  500. package/src/providers/boxyhq-saml.ts +148 -0
  501. package/src/providers/bungie.ts +192 -0
  502. package/src/providers/click-up.ts +104 -0
  503. package/src/providers/cognito.ts +94 -0
  504. package/src/providers/coinbase.ts +93 -0
  505. package/src/providers/concept2.ts +108 -0
  506. package/src/providers/credentials.ts +157 -0
  507. package/src/providers/descope.ts +105 -0
  508. package/src/providers/discord.ts +176 -0
  509. package/src/providers/dribbble.ts +122 -0
  510. package/src/providers/dropbox.ts +102 -0
  511. package/src/providers/duende-identity-server6.ts +101 -0
  512. package/src/providers/email.ts +60 -0
  513. package/src/providers/eventbrite.ts +105 -0
  514. package/src/providers/eveonline.ts +117 -0
  515. package/src/providers/facebook.ts +119 -0
  516. package/src/providers/faceit.ts +90 -0
  517. package/src/providers/figma.ts +105 -0
  518. package/src/providers/forwardemail.ts +37 -0
  519. package/src/providers/foursquare.ts +105 -0
  520. package/src/providers/freshbooks.ts +90 -0
  521. package/src/providers/frontegg.ts +111 -0
  522. package/src/providers/fusionauth.ts +336 -0
  523. package/src/providers/github.ts +187 -0
  524. package/src/providers/gitlab.ts +140 -0
  525. package/src/providers/google.ts +152 -0
  526. package/src/providers/hubspot.ts +117 -0
  527. package/src/providers/huggingface.ts +234 -0
  528. package/src/providers/identity-server4.ts +78 -0
  529. package/src/providers/index.ts +115 -0
  530. package/src/providers/instagram.ts +103 -0
  531. package/src/providers/kakao.ts +184 -0
  532. package/src/providers/keycloak.ts +111 -0
  533. package/src/providers/kinde.ts +85 -0
  534. package/src/providers/line.ts +99 -0
  535. package/src/providers/linkedin.ts +91 -0
  536. package/src/providers/logto.ts +122 -0
  537. package/src/providers/loops.ts +79 -0
  538. package/src/providers/mailchimp.ts +90 -0
  539. package/src/providers/mailgun.ts +98 -0
  540. package/src/providers/mailru.ts +75 -0
  541. package/src/providers/mastodon.ts +112 -0
  542. package/src/providers/mattermost.ts +154 -0
  543. package/src/providers/medium.ts +89 -0
  544. package/src/providers/microsoft-entra-id.ts +497 -0
  545. package/src/providers/naver.ts +102 -0
  546. package/src/providers/netlify.ts +90 -0
  547. package/src/providers/netsuite.ts +225 -0
  548. package/src/providers/nextcloud.ts +207 -0
  549. package/src/providers/nodemailer.ts +84 -0
  550. package/src/providers/notion.ts +166 -0
  551. package/src/providers/oauth.ts +310 -0
  552. package/src/providers/okta.ts +111 -0
  553. package/src/providers/onelogin.ts +75 -0
  554. package/src/providers/ory-hydra.ts +93 -0
  555. package/src/providers/osso.ts +91 -0
  556. package/src/providers/osu.ts +138 -0
  557. package/src/providers/passage.ts +103 -0
  558. package/src/providers/passkey.ts +94 -0
  559. package/src/providers/patreon.ts +98 -0
  560. package/src/providers/ping-id.ts +68 -0
  561. package/src/providers/pinterest.ts +106 -0
  562. package/src/providers/pipedrive.ts +120 -0
  563. package/src/providers/postmark.ts +38 -0
  564. package/src/providers/provider-types.ts +107 -0
  565. package/src/providers/reddit.ts +104 -0
  566. package/src/providers/resend.ts +35 -0
  567. package/src/providers/roblox.ts +94 -0
  568. package/src/providers/salesforce.ts +73 -0
  569. package/src/providers/sendgrid.ts +36 -0
  570. package/src/providers/simplelogin.ts +107 -0
  571. package/src/providers/slack.ts +115 -0
  572. package/src/providers/spotify.ts +99 -0
  573. package/src/providers/strava.ts +101 -0
  574. package/src/providers/threads.ts +135 -0
  575. package/src/providers/tiktok.ts +319 -0
  576. package/src/providers/todoist.ts +122 -0
  577. package/src/providers/trakt.ts +120 -0
  578. package/src/providers/twitch.ts +121 -0
  579. package/src/providers/twitter.ts +207 -0
  580. package/src/providers/united-effects.ts +89 -0
  581. package/src/providers/vipps.ts +86 -0
  582. package/src/providers/vk.ts +401 -0
  583. package/src/providers/webauthn.ts +296 -0
  584. package/src/providers/webex.ts +102 -0
  585. package/src/providers/wechat.ts +141 -0
  586. package/src/providers/wikimedia.ts +258 -0
  587. package/src/providers/wordpress.ts +86 -0
  588. package/src/providers/workos.ts +180 -0
  589. package/src/providers/yandex.ts +159 -0
  590. package/src/providers/zitadel.ts +128 -0
  591. package/src/providers/zoho.ts +84 -0
  592. package/src/providers/zoom.ts +119 -0
  593. package/src/types.ts +430 -0
  594. package/src/warnings.ts +21 -0
  595. package/types.d.ts +309 -0
  596. package/types.d.ts.map +1 -0
  597. package/types.js +53 -0
  598. package/warnings.d.ts +17 -0
  599. package/warnings.d.ts.map +1 -0
  600. package/warnings.js +1 -0
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Add Instagram login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/instagram
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Instagram from "@auth/core/providers/instagram"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Instagram({
20
+ * clientId: INSTAGRAM_CLIENT_ID,
21
+ * clientSecret: INSTAGRAM_CLIENT_SECRET,
22
+ * }),
23
+ * ],
24
+ * })
25
+ * ```
26
+ *
27
+ * ### Resources
28
+ *
29
+ * - [Instagram OAuth documentation](https://developers.facebook.com/docs/instagram-basic-display-api/getting-started)
30
+ * - [Instagram OAuth apps](https://developers.facebook.com/apps/)
31
+ *
32
+ * ### Notes
33
+ *
34
+ * By default, Auth.js assumes that the Instagram provider is
35
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
36
+ *
37
+ *
38
+ * :::warning
39
+ * Email address is not returned by the Instagram API.
40
+ * :::
41
+ *
42
+ * :::tip
43
+ * 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).
44
+ * :::
45
+ * :::tip
46
+ *
47
+ * The Instagram provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/instagram.ts).
48
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
49
+ *
50
+ * :::
51
+ *
52
+ * :::info **Disclaimer**
53
+ *
54
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
55
+ *
56
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
57
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
58
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
59
+ *
60
+ * :::
61
+ */
62
+ export default function Instagram(config) {
63
+ return {
64
+ id: "instagram",
65
+ name: "Instagram",
66
+ type: "oauth",
67
+ authorization: "https://api.instagram.com/oauth/authorize?scope=user_profile",
68
+ token: "https://api.instagram.com/oauth/access_token",
69
+ userinfo: "https://graph.instagram.com/me?fields=id,username,account_type,name",
70
+ client: {
71
+ token_endpoint_auth_method: "client_secret_post",
72
+ },
73
+ async profile(profile) {
74
+ return {
75
+ id: profile.id,
76
+ name: profile.username,
77
+ email: null,
78
+ image: null,
79
+ };
80
+ },
81
+ style: {
82
+ bg: "#fff",
83
+ text: "#000",
84
+ },
85
+ options: config,
86
+ };
87
+ }
@@ -0,0 +1,148 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Kakao</b> integration.</span>
4
+ * <a href="https://www.kakaocorp.com/page/">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/kakao.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/kakao
10
+ */
11
+ import type { OAuthConfig, OAuthUserConfig } from "./index.js";
12
+ export type DateTime = string;
13
+ export type Gender = "female" | "male";
14
+ export type Birthday = "SOLAR" | "LUNAR";
15
+ export type AgeRange = "1-9" | "10-14" | "15-19" | "20-29" | "30-39" | "40-49" | "50-59" | "60-69" | "70-79" | "80-89" | "90-";
16
+ /**
17
+ * https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#req-user-info
18
+ * type from : https://gist.github.com/ziponia/cdce1ebd88f979b2a6f3f53416b56a77
19
+ */
20
+ export interface KakaoProfile extends Record<string, any> {
21
+ id: number;
22
+ has_signed_up?: boolean;
23
+ connected_at?: DateTime;
24
+ synched_at?: DateTime;
25
+ properties?: {
26
+ id?: string;
27
+ status?: string;
28
+ registered_at?: DateTime;
29
+ msg_blocked?: boolean;
30
+ nickname?: string;
31
+ profile_image?: string;
32
+ thumbnail_image?: string;
33
+ };
34
+ kakao_account?: {
35
+ profile_needs_agreement?: boolean;
36
+ profile_nickname_needs_agreement?: boolean;
37
+ profile_image_needs_agreement?: boolean;
38
+ profile?: {
39
+ nickname?: string;
40
+ thumbnail_image_url?: string;
41
+ profile_image_url?: string;
42
+ is_default_image?: boolean;
43
+ };
44
+ name_needs_agreement?: boolean;
45
+ name?: string;
46
+ email_needs_agreement?: boolean;
47
+ is_email_valid?: boolean;
48
+ is_email_verified?: boolean;
49
+ email?: string;
50
+ age_range_needs_agreement?: boolean;
51
+ age_range?: AgeRange;
52
+ birthyear_needs_agreement?: boolean;
53
+ birthyear?: string;
54
+ birthday_needs_agreement?: boolean;
55
+ birthday?: string;
56
+ birthday_type?: Birthday;
57
+ gender_needs_agreement?: boolean;
58
+ gender?: Gender;
59
+ phone_number_needs_agreement?: boolean;
60
+ phone_number?: string;
61
+ ci_needs_agreement?: boolean;
62
+ ci?: string;
63
+ ci_authenticated_at?: DateTime;
64
+ };
65
+ }
66
+ /**
67
+ * Add Kakao login to your page.
68
+ *
69
+ * ### Setup
70
+ *
71
+ * #### Callback URL
72
+ * ```
73
+ * https://example.com/api/auth/callback/kakao
74
+ * ```
75
+ *
76
+ * #### Configuration
77
+ *```ts
78
+ * import { Auth } from "@auth/core"
79
+ * import Kakao from "@auth/core/providers/kakao"
80
+ *
81
+ * const request = new Request(origin)
82
+ * const response = await Auth(request, {
83
+ * providers: [
84
+ * Kakao({ clientId: KAKAO_CLIENT_ID, clientSecret: KAKAO_CLIENT_SECRET }),
85
+ * ],
86
+ * })
87
+ * ```
88
+ *
89
+ * ### Resources
90
+ *
91
+ * - [Kakao OAuth documentation](https://developers.kakao.com/product/kakaoLogin)
92
+ * - [Kakao OAuth configuration](https://developers.kakao.com/docs/latest/en/kakaologin/common)
93
+ *
94
+ * ## Configuration
95
+ * Create a provider and a Kakao application at https://developers.kakao.com/console/app. In the settings of the app under Kakao Login, activate web app, change consent items and configure callback URL.
96
+ *
97
+ * ### Notes
98
+ *
99
+ * By default, Auth.js assumes that the Kakao provider is
100
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
101
+ *
102
+ *
103
+ * The "Authorized redirect URIs" used when creating the credentials must include your full domain and end in the callback path. For example;
104
+ *
105
+ * ![스크린샷 2023-11-28 오후 9 27 41](https://github.com/nextauthjs/next-auth/assets/66895208/7d4c2df6-45a6-4937-bb10-4b47c987bff4)
106
+ *
107
+ * - For production: `https://{YOUR_DOMAIN}/api/auth/callback/kakao`
108
+ * - For development: `http://localhost:3000/api/auth/callback/kakao`
109
+ *
110
+ * :::tip
111
+ *
112
+ * The Kakao provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/kakao.ts).
113
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
114
+ *
115
+ * :::
116
+ *
117
+ * :::tip
118
+ *
119
+ * Kakao's client key is in **Summary(It is written as 요약정보 in Korean.) tab's App Keys Field**
120
+ * (My Application > App Settings > Summary)
121
+ *
122
+ * ![스크린샷 2023-11-28 오후 9 47 17](https://github.com/nextauthjs/next-auth/assets/66895208/a87e5705-26b9-4f83-99d7-6df097a3632c)
123
+ *
124
+ * Kakao's clientSecret key is in **Security(It is written as 보안 in Korean.) tab's App Keys Field**
125
+ * (My Application > Product Settings > Kakao Login > Security)
126
+ *
127
+ * ![스크린샷 2023-11-28 오후 9 38 25](https://github.com/nextauthjs/next-auth/assets/66895208/6a763921-4f70-40f4-a3e1-9abc78276d45)
128
+ *
129
+ * :::
130
+ *
131
+ * :::tip
132
+ *
133
+ * Kakao dev console has a button at the top right to change from KR to ENG
134
+ *
135
+ * :::
136
+ *
137
+ * :::info **Disclaimer**
138
+ *
139
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
140
+ *
141
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
142
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
143
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
144
+ *
145
+ * :::
146
+ */
147
+ export default function Kakao<P extends KakaoProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
148
+ //# sourceMappingURL=kakao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kakao.d.ts","sourceRoot":"","sources":["../src/providers/kakao.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC7B,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AACtC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AACxC,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,KAAK,CAAA;AAET;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,QAAQ,CAAA;IACvB,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,UAAU,CAAC,EAAE;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,aAAa,CAAC,EAAE,QAAQ,CAAA;QACxB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,aAAa,CAAC,EAAE;QACd,uBAAuB,CAAC,EAAE,OAAO,CAAA;QACjC,gCAAgC,CAAC,EAAE,OAAO,CAAA;QAC1C,6BAA6B,CAAC,EAAE,OAAO,CAAA;QACvC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;YAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;YAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;SAC3B,CAAA;QACD,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,qBAAqB,CAAC,EAAE,OAAO,CAAA;QAC/B,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,SAAS,CAAC,EAAE,QAAQ,CAAA;QACpB,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,wBAAwB,CAAC,EAAE,OAAO,CAAA;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,aAAa,CAAC,EAAE,QAAQ,CAAA;QACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,4BAA4B,CAAC,EAAE,OAAO,CAAA;QACtC,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,mBAAmB,CAAC,EAAE,QAAQ,CAAA;KAC/B,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,SAAS,YAAY,EAClD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CAqBhB"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Add Kakao login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/kakao
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Kakao from "@auth/core/providers/kakao"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Kakao({ clientId: KAKAO_CLIENT_ID, clientSecret: KAKAO_CLIENT_SECRET }),
20
+ * ],
21
+ * })
22
+ * ```
23
+ *
24
+ * ### Resources
25
+ *
26
+ * - [Kakao OAuth documentation](https://developers.kakao.com/product/kakaoLogin)
27
+ * - [Kakao OAuth configuration](https://developers.kakao.com/docs/latest/en/kakaologin/common)
28
+ *
29
+ * ## Configuration
30
+ * Create a provider and a Kakao application at https://developers.kakao.com/console/app. In the settings of the app under Kakao Login, activate web app, change consent items and configure callback URL.
31
+ *
32
+ * ### Notes
33
+ *
34
+ * By default, Auth.js assumes that the Kakao provider is
35
+ * based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
36
+ *
37
+ *
38
+ * The "Authorized redirect URIs" used when creating the credentials must include your full domain and end in the callback path. For example;
39
+ *
40
+ * ![스크린샷 2023-11-28 오후 9 27 41](https://github.com/nextauthjs/next-auth/assets/66895208/7d4c2df6-45a6-4937-bb10-4b47c987bff4)
41
+ *
42
+ * - For production: `https://{YOUR_DOMAIN}/api/auth/callback/kakao`
43
+ * - For development: `http://localhost:3000/api/auth/callback/kakao`
44
+ *
45
+ * :::tip
46
+ *
47
+ * The Kakao provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/kakao.ts).
48
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
49
+ *
50
+ * :::
51
+ *
52
+ * :::tip
53
+ *
54
+ * Kakao's client key is in **Summary(It is written as 요약정보 in Korean.) tab's App Keys Field**
55
+ * (My Application > App Settings > Summary)
56
+ *
57
+ * ![스크린샷 2023-11-28 오후 9 47 17](https://github.com/nextauthjs/next-auth/assets/66895208/a87e5705-26b9-4f83-99d7-6df097a3632c)
58
+ *
59
+ * Kakao's clientSecret key is in **Security(It is written as 보안 in Korean.) tab's App Keys Field**
60
+ * (My Application > Product Settings > Kakao Login > Security)
61
+ *
62
+ * ![스크린샷 2023-11-28 오후 9 38 25](https://github.com/nextauthjs/next-auth/assets/66895208/6a763921-4f70-40f4-a3e1-9abc78276d45)
63
+ *
64
+ * :::
65
+ *
66
+ * :::tip
67
+ *
68
+ * Kakao dev console has a button at the top right to change from KR to ENG
69
+ *
70
+ * :::
71
+ *
72
+ * :::info **Disclaimer**
73
+ *
74
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
75
+ *
76
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
77
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
78
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
79
+ *
80
+ * :::
81
+ */
82
+ export default function Kakao(options) {
83
+ return {
84
+ id: "kakao",
85
+ name: "Kakao",
86
+ type: "oauth",
87
+ authorization: "https://kauth.kakao.com/oauth/authorize?scope",
88
+ token: "https://kauth.kakao.com/oauth/token",
89
+ userinfo: "https://kapi.kakao.com/v2/user/me",
90
+ client: {
91
+ token_endpoint_auth_method: "client_secret_post",
92
+ },
93
+ profile(profile) {
94
+ return {
95
+ id: profile.id.toString(),
96
+ name: profile.kakao_account?.profile?.nickname,
97
+ email: profile.kakao_account?.email,
98
+ image: profile.kakao_account?.profile?.profile_image_url,
99
+ };
100
+ },
101
+ options,
102
+ };
103
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
3
+ * <span>Built-in <b>Keycloak</b> integration.</span>
4
+ * <a href="https://keycloak.com">
5
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/keycloak.svg" height="48" width="48"/>
6
+ * </a>
7
+ * </div>
8
+ *
9
+ * @module providers/keycloak
10
+ */
11
+ import type { OIDCConfig, OIDCUserConfig } from "./index.js";
12
+ export interface KeycloakProfile extends Record<string, any> {
13
+ exp: number;
14
+ iat: number;
15
+ auth_time: number;
16
+ jti: string;
17
+ iss: string;
18
+ aud: string;
19
+ sub: string;
20
+ typ: string;
21
+ azp: string;
22
+ session_state: string;
23
+ at_hash: string;
24
+ acr: string;
25
+ sid: string;
26
+ email_verified: boolean;
27
+ name: string;
28
+ preferred_username: string;
29
+ given_name: string;
30
+ family_name: string;
31
+ email: string;
32
+ picture: string;
33
+ user: any;
34
+ }
35
+ /**
36
+ * Add Keycloak login to your page.
37
+ *
38
+ * ### Setup
39
+ *
40
+ * #### Callback URL
41
+ * ```
42
+ * https://example.com/api/auth/callback/keycloak
43
+ * ```
44
+ *
45
+ * #### Configuration
46
+ *```ts
47
+ * import { Auth } from "@auth/core"
48
+ * import Keycloak from "@auth/core/providers/keycloak"
49
+ *
50
+ * const request = new Request(origin)
51
+ * const response = await Auth(request, {
52
+ * providers: [
53
+ * Keycloak({
54
+ * clientId: KEYCLOAK_CLIENT_ID,
55
+ * clientSecret: KEYCLOAK_CLIENT_SECRET,
56
+ * issuer: KEYCLOAK_ISSUER,
57
+ * }),
58
+ * ],
59
+ * })
60
+ * ```
61
+ *
62
+ * ### Resources
63
+ *
64
+ * - [Keycloak OIDC documentation](https://www.keycloak.org/docs/latest/server_admin/#_oidc_clients)
65
+ *
66
+ * :::tip
67
+ *
68
+ * Create an openid-connect client in Keycloak with "confidential" as the "Access Type".
69
+ *
70
+ * :::
71
+ *
72
+ * :::note
73
+ *
74
+ * issuer should include the realm – e.g. https://my-keycloak-domain.com/realms/My_Realm
75
+ *
76
+ * :::
77
+ * ### Notes
78
+ *
79
+ * By default, Auth.js assumes that the Keycloak provider is
80
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
81
+ *
82
+ * :::tip
83
+ *
84
+ * The Keycloak provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/keycloak.ts).
85
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
86
+ *
87
+ * :::
88
+ *
89
+ * :::info **Disclaimer**
90
+ *
91
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
92
+ *
93
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
94
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
95
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
96
+ *
97
+ * :::
98
+ */
99
+ export default function Keycloak<P extends KeycloakProfile>(options: OIDCUserConfig<P>): OIDCConfig<P>;
100
+ //# sourceMappingURL=keycloak.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloak.d.ts","sourceRoot":"","sources":["../src/providers/keycloak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC1D,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;CACV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,SAAS,eAAe,EACxD,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACzB,UAAU,CAAC,CAAC,CAAC,CAQf"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Add Keycloak login to your page.
3
+ *
4
+ * ### Setup
5
+ *
6
+ * #### Callback URL
7
+ * ```
8
+ * https://example.com/api/auth/callback/keycloak
9
+ * ```
10
+ *
11
+ * #### Configuration
12
+ *```ts
13
+ * import { Auth } from "@auth/core"
14
+ * import Keycloak from "@auth/core/providers/keycloak"
15
+ *
16
+ * const request = new Request(origin)
17
+ * const response = await Auth(request, {
18
+ * providers: [
19
+ * Keycloak({
20
+ * clientId: KEYCLOAK_CLIENT_ID,
21
+ * clientSecret: KEYCLOAK_CLIENT_SECRET,
22
+ * issuer: KEYCLOAK_ISSUER,
23
+ * }),
24
+ * ],
25
+ * })
26
+ * ```
27
+ *
28
+ * ### Resources
29
+ *
30
+ * - [Keycloak OIDC documentation](https://www.keycloak.org/docs/latest/server_admin/#_oidc_clients)
31
+ *
32
+ * :::tip
33
+ *
34
+ * Create an openid-connect client in Keycloak with "confidential" as the "Access Type".
35
+ *
36
+ * :::
37
+ *
38
+ * :::note
39
+ *
40
+ * issuer should include the realm – e.g. https://my-keycloak-domain.com/realms/My_Realm
41
+ *
42
+ * :::
43
+ * ### Notes
44
+ *
45
+ * By default, Auth.js assumes that the Keycloak provider is
46
+ * based on the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html) specification.
47
+ *
48
+ * :::tip
49
+ *
50
+ * The Keycloak provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/keycloak.ts).
51
+ * To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
52
+ *
53
+ * :::
54
+ *
55
+ * :::info **Disclaimer**
56
+ *
57
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
58
+ *
59
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
60
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
61
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
62
+ *
63
+ * :::
64
+ */
65
+ export default function Keycloak(options) {
66
+ return {
67
+ id: "keycloak",
68
+ name: "Keycloak",
69
+ type: "oidc",
70
+ style: { brandColor: "#428bca" },
71
+ options,
72
+ };
73
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * <div class="provider" style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
3
+ * <span style={{fontSize: "1.35rem" }}>
4
+ * Built-in sign in with <b>Kinde</b> integration.
5
+ * </span>
6
+ * <a href="https://kinde.com" style={{backgroundColor: "#0F0F0F", padding: "12px", borderRadius: "100%" }}>
7
+ * <img style={{display: "block"}} src="https://authjs.dev/img/providers/kinde.svg" width="24"/>
8
+ * </a>
9
+ * </div>
10
+ *
11
+ * @module providers/kinde
12
+ */
13
+ import type { OIDCConfig, OIDCUserConfig } from "./index.js";
14
+ /** The returned user profile from Kinde when using the profile callback. [Reference](https://kinde.com/api/docs/#get-user-profile). */
15
+ export interface KindeProfile extends Record<string, any> {
16
+ /** The user's given name. */
17
+ first_name: string;
18
+ /** The user's unique identifier. */
19
+ id: string;
20
+ /** The user's family name. */
21
+ last_name: string;
22
+ /** URL pointing to the user's profile picture. */
23
+ picture: string;
24
+ /** The user's email address. */
25
+ preferred_email: string;
26
+ /** The user's identifier from a previous system. */
27
+ provided_id: string;
28
+ /** The user's username. */
29
+ username: string;
30
+ }
31
+ /**
32
+ * ### Setup
33
+ *
34
+ * #### Callback URL
35
+ * ```
36
+ * https://example.com/api/auth/callback/kinde
37
+ * ```
38
+ *
39
+ * #### Configuration
40
+ * ```ts
41
+ * import { Auth } from "@auth/core"
42
+ * import Kinde from "@auth/core/providers/kinde"
43
+ *
44
+ * const request = new Request(origin)
45
+ * const response = await Auth(request, {
46
+ * providers: [
47
+ * Kinde({
48
+ * clientId: KINDE_CLIENT_ID,
49
+ * clientSecret: KINDE_CLIENT_SECRET,
50
+ * issuer: KINDE_DOMAIN,
51
+ * }),
52
+ * ],
53
+ * })
54
+ * ```
55
+ *
56
+ * ### Resources
57
+ *
58
+ * - [Kinde docs](https://docs.kinde.com/)
59
+ *
60
+ * ### Notes
61
+ *
62
+ * The Kinde provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/kinde.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
63
+ *
64
+ * ## Help
65
+ *
66
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
67
+ *
68
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
69
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
70
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
71
+ */
72
+ export default function Kinde(config: OIDCUserConfig<KindeProfile>): OIDCConfig<KindeProfile>;
73
+ //# sourceMappingURL=kinde.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinde.d.ts","sourceRoot":"","sources":["../src/providers/kinde.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D,uIAAuI;AACvI,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,eAAe,EAAE,MAAM,CAAA;IACvB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAA;IACnB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC,GACnC,UAAU,CAAC,YAAY,CAAC,CAS1B"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * ### Setup
3
+ *
4
+ * #### Callback URL
5
+ * ```
6
+ * https://example.com/api/auth/callback/kinde
7
+ * ```
8
+ *
9
+ * #### Configuration
10
+ * ```ts
11
+ * import { Auth } from "@auth/core"
12
+ * import Kinde from "@auth/core/providers/kinde"
13
+ *
14
+ * const request = new Request(origin)
15
+ * const response = await Auth(request, {
16
+ * providers: [
17
+ * Kinde({
18
+ * clientId: KINDE_CLIENT_ID,
19
+ * clientSecret: KINDE_CLIENT_SECRET,
20
+ * issuer: KINDE_DOMAIN,
21
+ * }),
22
+ * ],
23
+ * })
24
+ * ```
25
+ *
26
+ * ### Resources
27
+ *
28
+ * - [Kinde docs](https://docs.kinde.com/)
29
+ *
30
+ * ### Notes
31
+ *
32
+ * The Kinde provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/kinde.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
33
+ *
34
+ * ## Help
35
+ *
36
+ * If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
37
+ *
38
+ * Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
39
+ * the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
40
+ * we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
41
+ */
42
+ export default function Kinde(config) {
43
+ return {
44
+ id: "kinde",
45
+ name: "Kinde",
46
+ type: "oidc",
47
+ style: { text: "#0F0F0F", bg: "#fff" },
48
+ options: config,
49
+ checks: ["state", "pkce"],
50
+ };
51
+ }