cauthy-auth 0.18.0 → 0.20.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.
package/dist/svelte.mjs CHANGED
@@ -202,6 +202,11 @@ function createAuthClient(options = {}) {
202
202
  }
203
203
  const linkUrl = (provider, o = {}) => `${base}/me/identities/link/${encodeURIComponent(provider)}${o.returnTo ? `?return_to=${encodeURIComponent(o.returnTo)}` : ""}`;
204
204
  const socialUrl = (provider, o = {}) => `${base}/sign-in/social/${encodeURIComponent(provider)}${o.returnTo ? `?return_to=${encodeURIComponent(o.returnTo)}` : ""}`;
205
+ const ssoUrl = (target, o = {}) => {
206
+ const q = new URLSearchParams("connection" in target ? { connection: target.connection } : { email: target.email.trim() });
207
+ if (o.returnTo) q.set("return_to", o.returnTo);
208
+ return `${base}/sign-in/sso?${q}`;
209
+ };
205
210
  const passkeyUrl = (o = {}) => {
206
211
  const q = new URLSearchParams({ method: "passkey" });
207
212
  if (o.returnTo) q.set("return_to", o.returnTo);
@@ -213,11 +218,11 @@ function createAuthClient(options = {}) {
213
218
  const res = await doFetch(`${base}/methods`, { credentials: "same-origin", headers: { accept: "application/json" } });
214
219
  if (res.ok) {
215
220
  const m = await res.json();
216
- return { providers: [], signUp: true, magicLink: false, passkey: false, ...m, passkeyHere: m.passkeyHere === true, passkeyOnCauthy: m.passkeyOnCauthy ?? m.passkey === true };
221
+ return { providers: [], signUp: true, magicLink: false, passkey: false, ...m, passkeyHere: m.passkeyHere === true, passkeyOnCauthy: m.passkeyOnCauthy ?? m.passkey === true, sso: m.sso === true };
217
222
  }
218
223
  } catch {
219
224
  }
220
- return { providers: [], signUp: true, magicLink: false, passkey: false, passkeyHere: false, passkeyOnCauthy: false };
225
+ return { providers: [], signUp: true, magicLink: false, passkey: false, passkeyHere: false, passkeyOnCauthy: false, sso: false };
221
226
  }
222
227
  async function ceremony(begin, finish, form, run, more = {}) {
223
228
  const begun = await post(begin, form, null);
@@ -315,6 +320,11 @@ function createAuthClient(options = {}) {
315
320
  socialUrl,
316
321
  social(provider, o) {
317
322
  window.location.assign(socialUrl(provider, o));
323
+ },
324
+ ssoDiscover: (f) => post("/sign-in/sso/discover", { email: f.email.trim() }, checkEmail(f.email)),
325
+ ssoUrl,
326
+ sso(target, o) {
327
+ window.location.assign(ssoUrl(target, o));
318
328
  }
319
329
  },
320
330
  signUp: {
@@ -373,7 +383,7 @@ function createAuthClient(options = {}) {
373
383
  },
374
384
  addPasskey(f = {}) {
375
385
  if (!canUsePasskeys()) return Promise.resolve({ ok: false, error: { code: "passkey_unavailable", message: "This browser cannot make passkeys." } });
376
- return ceremony("/me/passkeys/add/begin", "/me/passkeys/add/finish", { password: f.password ?? "" }, makePasskey, { name: f.name ?? "" });
386
+ return ceremony("/me/passkeys/add/begin", "/me/passkeys/add/finish", { password: f.password ?? "", ...f.kind ? { kind: f.kind } : {} }, makePasskey, { name: f.name ?? "" });
377
387
  },
378
388
  removePasskey: (id) => post("/me/passkeys/remove", { id }, null)
379
389
  },