@descope/react-sdk 2.0.4 → 2.0.5
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/README.md +3 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/index.d.ts +32 -132
- package/dist/index.esm.js +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -111,7 +111,8 @@ const App = () => {
|
|
|
111
111
|
|
|
112
112
|
|
|
113
113
|
// form is an object the initial form context that is used in screens inputs in the flow execution.
|
|
114
|
-
// Used to inject
|
|
114
|
+
// Used to inject predefined input values on flow start such as custom inputs, custom attributes and other inputs.
|
|
115
|
+
// Keys passed can be accessed in flows actions, conditions and screens prefixed with "form.".
|
|
115
116
|
// NOTE: form is not required. If not provided, 'form' context key will be empty before user input.
|
|
116
117
|
// Example:
|
|
117
118
|
// ...
|
|
@@ -120,6 +121,7 @@ const App = () => {
|
|
|
120
121
|
|
|
121
122
|
|
|
122
123
|
// client is an object the initial client context in the flow execution.
|
|
124
|
+
// Keys passed can be accessed in flows actions and conditions prefixed with "client.".
|
|
123
125
|
// NOTE: client is not required. If not provided, context key will be empty.
|
|
124
126
|
// Example:
|
|
125
127
|
// ...
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=r(e),n=r(t);const u=o.default.createContext(void 0),i=e=>(...t)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...t)},c=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},a={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@descope/web-js-sdk");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=r(e),n=r(t);const u=o.default.createContext(void 0),i=e=>(...t)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...t)},c=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r},a={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.5"},l="undefined"!=typeof window;let f;const d=e=>{const t=n.default({...e,persistTokens:l,autoRefresh:l});return f=t,t};f=d({projectId:"temp pid"});const p=()=>l?f?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),m=()=>l?f?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),h=c(((e=p(),t)=>f?.getJwtPermissions(e,t))),g=c(((e=p(),t)=>f?.getJwtRoles(e,t)));const k=e.lazy((async()=>((await Promise.resolve().then((function(){return s(require("@descope/web-component"))}))).default.sdkConfigOverrides={baseHeaders:a},{default:({projectId:e,flowId:t,baseUrl:r,innerRef:s,tenant:n,theme:u,locale:i,debug:c,redirectUrl:a,client:l,form:f,autoFocus:d})=>o.default.createElement("descope-wc",{"project-id":e,"flow-id":t,"base-url":r,ref:s,tenant:n,theme:u,locale:i,debug:c,client:l,form:f,"redirect-url":a,"auto-focus":d})}))),w=o.default.forwardRef((({flowId:t,onSuccess:r,onError:s,logger:n,tenant:i,theme:c,locale:a,debug:l,client:f,form:d,telemetryKey:p,redirectUrl:m,autoFocus:h,errorTransformer:g},w)=>{const[b,S]=e.useState(null);e.useImperativeHandle(w,(()=>b));const{projectId:y,baseUrl:E,sdk:v}=o.default.useContext(u),j=e.useCallback((async e=>{await v.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),r&&r(e)}),[r]);e.useEffect((()=>{const e=b;return e?.addEventListener("success",j),s&&e?.addEventListener("error",s),()=>{s&&e?.removeEventListener("error",s),e?.removeEventListener("success",j)}}),[b,s,j]),e.useEffect((()=>{b&&(b.errorTransformer=g)}),[b,g]),e.useEffect((()=>{b&&n&&(b.logger=n)}),[b,n]);const{form:x,client:I}=e.useMemo((()=>({form:JSON.stringify(d||{}),client:JSON.stringify(f||{})})),[d,f]);return o.default.createElement("form",null,o.default.createElement(e.Suspense,{fallback:null},o.default.createElement(k,{projectId:y,flowId:t,baseUrl:E,innerRef:S,tenant:i,theme:c,locale:a,debug:l,form:x,client:I,telemetryKey:p,redirectUrl:m,autoFocus:h})))}));var b=()=>{const t=e.useContext(u);if(!t)throw Error("You can only use this hook in the context of <AuthProvider />");return t};const S=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,y={get(e,t){if("object"==typeof e[t]&&null!==e[t])return new Proxy(e[t],y);if("function"==typeof e[t])return()=>{throw Error(S("function"))};throw Error(S("attribute"))}};exports.AuthProvider=({projectId:t,baseUrl:r="",sessionTokenViaCookie:s=!1,children:n})=>{const[c,l]=e.useState(),[f,p]=e.useState(),[m,h]=e.useState(!1),[g,k]=e.useState(!1),w=(({projectId:t,baseUrl:r,sessionTokenViaCookie:s})=>e.useMemo((()=>{if(t)return d({projectId:t,baseUrl:r,sessionTokenViaCookie:s,baseHeaders:a,persistToken:!0,autoRefresh:!0})}),[t,r,s]))({projectId:t,baseUrl:r,sessionTokenViaCookie:s});e.useEffect((()=>{if(w){const e=w.onSessionTokenChange(p),t=w.onUserChange(l);return()=>{e(),t()}}}),[w]);const b=e.useRef(!1),S=e.useCallback((()=>{b.current||(b.current=!0,k(!0),i(w?.refresh)().then((()=>{k(!1)})))}),[w]),y=e.useCallback((()=>{h(!0),i(w.me)().then((()=>{h(!1)}))}),[w]),E=e.useMemo((()=>({fetchUser:y,user:c,isUserLoading:m,fetchSession:S,session:f,isSessionLoading:g,isSessionFetched:b.current,projectId:t,baseUrl:r,setUser:l,setSession:p,sdk:w})),[y,c,m,S,f,g,b.current,t,r,l,p,w]);return o.default.createElement(u.Provider,{value:E},n)},exports.Descope=w,exports.SignInFlow=e=>o.default.createElement(w,{...e,flowId:"sign-in"}),exports.SignUpFlow=e=>o.default.createElement(w,{...e,flowId:"sign-up"}),exports.SignUpOrInFlow=e=>o.default.createElement(w,{...e,flowId:"sign-up-or-in"}),exports.getJwtPermissions=h,exports.getJwtRoles=g,exports.getRefreshToken=m,exports.getSessionToken=p,exports.refresh=(e=m())=>f?.refresh(e),exports.useDescope=()=>{const{sdk:t}=b();return e.useMemo((()=>t||new Proxy(d({projectId:"dummy"}),y)),[t])},exports.useSession=()=>{const{session:t,isSessionLoading:r,fetchSession:s,isSessionFetched:o}=b(),n=e.useRef(r);return e.useMemo((()=>{n.current=r}),[r]),e.useMemo((()=>{o||(n.current=!0)}),[o]),e.useEffect((()=>{t||r||s()}),[s]),{isSessionLoading:n.current,sessionToken:t,isAuthenticated:!!t}},exports.useUser=()=>{const{user:t,fetchUser:r,isUserLoading:s,session:o}=b(),[n,u]=e.useState(!1),i=e.useRef(s),c=e.useMemo((()=>!t&&!s&&o&&!n),[r,o,n]);return e.useMemo((()=>{i.current=s}),[s]),e.useMemo((()=>{c&&(i.current=!0)}),[c]),e.useEffect((()=>{c&&(u(!0),r())}),[c]),{isUserLoading:i.current,user:t}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -78,9 +78,11 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
78
78
|
samlIdpStateId?: string;
|
|
79
79
|
samlIdpUsername?: string;
|
|
80
80
|
ssoAppId?: string;
|
|
81
|
+
oidcLoginHint?: string;
|
|
81
82
|
abTestingKey?: number;
|
|
83
|
+
startOptionsVersion?: number;
|
|
82
84
|
client?: Record<string, any>;
|
|
83
|
-
}, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey" | "client"> & {
|
|
85
|
+
}, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "oidcLoginHint" | "preview" | "abTestingKey" | "client"> & {
|
|
84
86
|
lastAuth?: Omit<{
|
|
85
87
|
authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
|
|
86
88
|
oauthProvider?: string;
|
|
@@ -104,11 +106,7 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
104
106
|
finish: (transactionId: string, response: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
105
107
|
};
|
|
106
108
|
signIn: ((identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
|
|
107
|
-
start: (loginId: string, origin: string, loginOptions?: {
|
|
108
|
-
stepup?: boolean;
|
|
109
|
-
mfa?: boolean;
|
|
110
|
-
customClaims?: Record<string, any>;
|
|
111
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
109
|
+
start: (loginId: string, origin: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
112
110
|
transactionId: string;
|
|
113
111
|
options: string;
|
|
114
112
|
create: boolean;
|
|
@@ -326,65 +324,21 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
326
324
|
};
|
|
327
325
|
};
|
|
328
326
|
oauth: {
|
|
329
|
-
start: ((provider: string, redirectUrl?: string, loginOptions?: {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
github: (redirectURL?: string, loginOptions?: {
|
|
340
|
-
stepup?: boolean;
|
|
341
|
-
mfa?: boolean;
|
|
342
|
-
customClaims?: Record<string, any>;
|
|
343
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
344
|
-
google: (redirectURL?: string, loginOptions?: {
|
|
345
|
-
stepup?: boolean;
|
|
346
|
-
mfa?: boolean;
|
|
347
|
-
customClaims?: Record<string, any>;
|
|
348
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
349
|
-
microsoft: (redirectURL?: string, loginOptions?: {
|
|
350
|
-
stepup?: boolean;
|
|
351
|
-
mfa?: boolean;
|
|
352
|
-
customClaims?: Record<string, any>;
|
|
353
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
354
|
-
gitlab: (redirectURL?: string, loginOptions?: {
|
|
355
|
-
stepup?: boolean;
|
|
356
|
-
mfa?: boolean;
|
|
357
|
-
customClaims?: Record<string, any>;
|
|
358
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
359
|
-
apple: (redirectURL?: string, loginOptions?: {
|
|
360
|
-
stepup?: boolean;
|
|
361
|
-
mfa?: boolean;
|
|
362
|
-
customClaims?: Record<string, any>;
|
|
363
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
364
|
-
discord: (redirectURL?: string, loginOptions?: {
|
|
365
|
-
stepup?: boolean;
|
|
366
|
-
mfa?: boolean;
|
|
367
|
-
customClaims?: Record<string, any>;
|
|
368
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
369
|
-
linkedin: (redirectURL?: string, loginOptions?: {
|
|
370
|
-
stepup?: boolean;
|
|
371
|
-
mfa?: boolean;
|
|
372
|
-
customClaims?: Record<string, any>;
|
|
373
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
374
|
-
slack: (redirectURL?: string, loginOptions?: {
|
|
375
|
-
stepup?: boolean;
|
|
376
|
-
mfa?: boolean;
|
|
377
|
-
customClaims?: Record<string, any>;
|
|
378
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
327
|
+
start: ((provider: string, redirectUrl?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ResponseData>>) & {
|
|
328
|
+
facebook: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
329
|
+
github: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
330
|
+
google: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
331
|
+
microsoft: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
332
|
+
gitlab: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
333
|
+
apple: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
334
|
+
discord: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
335
|
+
linkedin: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
336
|
+
slack: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
379
337
|
};
|
|
380
338
|
exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
381
339
|
};
|
|
382
340
|
saml: {
|
|
383
|
-
start: (tenantIdOrEmail: string, redirectUrl?: string, loginOptions?:
|
|
384
|
-
stepup?: boolean;
|
|
385
|
-
mfa?: boolean;
|
|
386
|
-
customClaims?: Record<string, any>;
|
|
387
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
341
|
+
start: (tenantIdOrEmail: string, redirectUrl?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
388
342
|
exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
389
343
|
};
|
|
390
344
|
totp: {
|
|
@@ -396,11 +350,7 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
396
350
|
familyName?: string;
|
|
397
351
|
phone?: string;
|
|
398
352
|
}) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
|
|
399
|
-
verify: (loginId: string, code: string, loginOptions?:
|
|
400
|
-
stepup?: boolean;
|
|
401
|
-
mfa?: boolean;
|
|
402
|
-
customClaims?: Record<string, any>;
|
|
403
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
353
|
+
verify: (loginId: string, code: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
404
354
|
update: (loginId: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
|
|
405
355
|
};
|
|
406
356
|
password: {
|
|
@@ -496,9 +446,11 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
496
446
|
samlIdpStateId?: string;
|
|
497
447
|
samlIdpUsername?: string;
|
|
498
448
|
ssoAppId?: string;
|
|
449
|
+
oidcLoginHint?: string;
|
|
499
450
|
abTestingKey?: number;
|
|
451
|
+
startOptionsVersion?: number;
|
|
500
452
|
client?: Record<string, any>;
|
|
501
|
-
}, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "preview" | "abTestingKey" | "client"> & {
|
|
453
|
+
}, "tenant" | "redirectUrl" | "redirectAuth" | "oidcIdpStateId" | "samlIdpStateId" | "samlIdpUsername" | "ssoAppId" | "oidcLoginHint" | "preview" | "abTestingKey" | "client"> & {
|
|
502
454
|
lastAuth?: Omit<{
|
|
503
455
|
authMethod?: "webauthn" | "otp" | "oauth" | "saml" | "totp" | "magiclink" | "enchantedlink";
|
|
504
456
|
oauthProvider?: string;
|
|
@@ -522,11 +474,7 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
522
474
|
finish: (transactionId: string, response: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
523
475
|
};
|
|
524
476
|
signIn: ((identifier: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>) & {
|
|
525
|
-
start: (loginId: string, origin: string, loginOptions?: {
|
|
526
|
-
stepup?: boolean;
|
|
527
|
-
mfa?: boolean;
|
|
528
|
-
customClaims?: Record<string, any>;
|
|
529
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
477
|
+
start: (loginId: string, origin: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<{
|
|
530
478
|
transactionId: string;
|
|
531
479
|
options: string;
|
|
532
480
|
create: boolean;
|
|
@@ -744,65 +692,21 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
744
692
|
};
|
|
745
693
|
};
|
|
746
694
|
oauth: {
|
|
747
|
-
start: ((provider: string, redirectUrl?: string, loginOptions?: {
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
github: (redirectURL?: string, loginOptions?: {
|
|
758
|
-
stepup?: boolean;
|
|
759
|
-
mfa?: boolean;
|
|
760
|
-
customClaims?: Record<string, any>;
|
|
761
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
762
|
-
google: (redirectURL?: string, loginOptions?: {
|
|
763
|
-
stepup?: boolean;
|
|
764
|
-
mfa?: boolean;
|
|
765
|
-
customClaims?: Record<string, any>;
|
|
766
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
767
|
-
microsoft: (redirectURL?: string, loginOptions?: {
|
|
768
|
-
stepup?: boolean;
|
|
769
|
-
mfa?: boolean;
|
|
770
|
-
customClaims?: Record<string, any>;
|
|
771
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
772
|
-
gitlab: (redirectURL?: string, loginOptions?: {
|
|
773
|
-
stepup?: boolean;
|
|
774
|
-
mfa?: boolean;
|
|
775
|
-
customClaims?: Record<string, any>;
|
|
776
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
777
|
-
apple: (redirectURL?: string, loginOptions?: {
|
|
778
|
-
stepup?: boolean;
|
|
779
|
-
mfa?: boolean;
|
|
780
|
-
customClaims?: Record<string, any>;
|
|
781
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
782
|
-
discord: (redirectURL?: string, loginOptions?: {
|
|
783
|
-
stepup?: boolean;
|
|
784
|
-
mfa?: boolean;
|
|
785
|
-
customClaims?: Record<string, any>;
|
|
786
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
787
|
-
linkedin: (redirectURL?: string, loginOptions?: {
|
|
788
|
-
stepup?: boolean;
|
|
789
|
-
mfa?: boolean;
|
|
790
|
-
customClaims?: Record<string, any>;
|
|
791
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
792
|
-
slack: (redirectURL?: string, loginOptions?: {
|
|
793
|
-
stepup?: boolean;
|
|
794
|
-
mfa?: boolean;
|
|
795
|
-
customClaims?: Record<string, any>;
|
|
796
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
695
|
+
start: ((provider: string, redirectUrl?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.ResponseData>>) & {
|
|
696
|
+
facebook: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
697
|
+
github: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
698
|
+
google: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
699
|
+
microsoft: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
700
|
+
gitlab: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
701
|
+
apple: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
702
|
+
discord: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
703
|
+
linkedin: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
704
|
+
slack: (redirectURL?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
797
705
|
};
|
|
798
706
|
exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
799
707
|
};
|
|
800
708
|
saml: {
|
|
801
|
-
start: (tenantIdOrEmail: string, redirectUrl?: string, loginOptions?:
|
|
802
|
-
stepup?: boolean;
|
|
803
|
-
mfa?: boolean;
|
|
804
|
-
customClaims?: Record<string, any>;
|
|
805
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
709
|
+
start: (tenantIdOrEmail: string, redirectUrl?: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.URLResponse>>;
|
|
806
710
|
exchange: (code: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
807
711
|
};
|
|
808
712
|
totp: {
|
|
@@ -814,11 +718,7 @@ declare const createSdkWrapper: <P extends Omit<{
|
|
|
814
718
|
familyName?: string;
|
|
815
719
|
phone?: string;
|
|
816
720
|
}) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
|
|
817
|
-
verify: (loginId: string, code: string, loginOptions?:
|
|
818
|
-
stepup?: boolean;
|
|
819
|
-
mfa?: boolean;
|
|
820
|
-
customClaims?: Record<string, any>;
|
|
821
|
-
}, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
721
|
+
verify: (loginId: string, code: string, loginOptions?: _descope_core_js_sdk.LoginOptions, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.JWTResponse>>;
|
|
822
722
|
update: (loginId: string, token?: string) => Promise<_descope_core_js_sdk.SdkResponse<_descope_core_js_sdk.TOTPResponse>>;
|
|
823
723
|
};
|
|
824
724
|
password: {
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useMemo as r,useState as t,useEffect as o,useRef as n,useCallback as s,lazy as i,useImperativeHandle as c,Suspense as a,useContext as u}from"react";import d from"@descope/web-js-sdk";const l=e.createContext(void 0),f=e=>(...r)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...r)},p=e=>(...r)=>{let t;try{t=e(...r)}catch(e){console.error(e)}return t},m={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.
|
|
1
|
+
import e,{useMemo as r,useState as t,useEffect as o,useRef as n,useCallback as s,lazy as i,useImperativeHandle as c,Suspense as a,useContext as u}from"react";import d from"@descope/web-js-sdk";const l=e.createContext(void 0),f=e=>(...r)=>{if(!e)throw Error("You can only use this function after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component");return e(...r)},p=e=>(...r)=>{let t;try{t=e(...r)}catch(e){console.error(e)}return t},m={"x-descope-sdk-name":"react","x-descope-sdk-version":"2.0.5"},h="undefined"!=typeof window;let k;const g=e=>{const r=d({...e,persistTokens:h,autoRefresh:h});return k=r,r};k=g({projectId:"temp pid"});const w=()=>h?k?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),y=()=>h?k?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),b=p(((e=w(),r)=>k?.getJwtPermissions(e,r))),I=p(((e=w(),r)=>k?.getJwtRoles(e,r))),S=(e=y())=>k?.refresh(e);const U=({projectId:i,baseUrl:c="",sessionTokenViaCookie:a=!1,children:u})=>{const[d,p]=t(),[h,k]=t(),[w,y]=t(!1),[b,I]=t(!1),S=(({projectId:e,baseUrl:t,sessionTokenViaCookie:o})=>r((()=>{if(e)return g({projectId:e,baseUrl:t,sessionTokenViaCookie:o,baseHeaders:m,persistToken:!0,autoRefresh:!0})}),[e,t,o]))({projectId:i,baseUrl:c,sessionTokenViaCookie:a});o((()=>{if(S){const e=S.onSessionTokenChange(k),r=S.onUserChange(p);return()=>{e(),r()}}}),[S]);const U=n(!1),E=s((()=>{U.current||(U.current=!0,I(!0),f(S?.refresh)().then((()=>{I(!1)})))}),[S]),j=s((()=>{y(!0),f(S.me)().then((()=>{y(!1)}))}),[S]),v=r((()=>({fetchUser:j,user:d,isUserLoading:w,fetchSession:E,session:h,isSessionLoading:b,isSessionFetched:U.current,projectId:i,baseUrl:c,setUser:p,setSession:k,sdk:S})),[j,d,w,E,h,b,U.current,i,c,p,k,S]);return e.createElement(l.Provider,{value:v},u)},E=i((async()=>((await import("@descope/web-component")).default.sdkConfigOverrides={baseHeaders:m},{default:({projectId:r,flowId:t,baseUrl:o,innerRef:n,tenant:s,theme:i,locale:c,debug:a,redirectUrl:u,client:d,form:l,autoFocus:f})=>e.createElement("descope-wc",{"project-id":r,"flow-id":t,"base-url":o,ref:n,tenant:s,theme:i,locale:c,debug:a,client:d,form:l,"redirect-url":u,"auto-focus":f})}))),j=e.forwardRef((({flowId:n,onSuccess:i,onError:u,logger:d,tenant:f,theme:p,locale:m,debug:h,client:k,form:g,telemetryKey:w,redirectUrl:y,autoFocus:b,errorTransformer:I},S)=>{const[U,j]=t(null);c(S,(()=>U));const{projectId:v,baseUrl:T,sdk:C}=e.useContext(l),R=s((async e=>{await C.httpClient.hooks.afterRequest({},new Response(JSON.stringify(e.detail))),i&&i(e)}),[i]);o((()=>{const e=U;return e?.addEventListener("success",R),u&&e?.addEventListener("error",u),()=>{u&&e?.removeEventListener("error",u),e?.removeEventListener("success",R)}}),[U,u,R]),o((()=>{U&&(U.errorTransformer=I)}),[U,I]),o((()=>{U&&d&&(U.logger=d)}),[U,d]);const{form:L,client:x}=r((()=>({form:JSON.stringify(g||{}),client:JSON.stringify(k||{})})),[g,k]);return e.createElement("form",null,e.createElement(a,{fallback:null},e.createElement(E,{projectId:v,flowId:n,baseUrl:T,innerRef:j,tenant:f,theme:p,locale:m,debug:h,form:L,client:x,telemetryKey:w,redirectUrl:y,autoFocus:b})))})),v=r=>e.createElement(j,{...r,flowId:"sign-in"}),T=r=>e.createElement(j,{...r,flowId:"sign-up"}),C=r=>e.createElement(j,{...r,flowId:"sign-up-or-in"});var R=()=>{const e=u(l);if(!e)throw Error("You can only use this hook in the context of <AuthProvider />");return e};const L=e=>`You can only use this ${e} after sdk initialization. Make sure to supply 'projectId' to <AuthProvider /> component`,x={get(e,r){if("object"==typeof e[r]&&null!==e[r])return new Proxy(e[r],x);if("function"==typeof e[r])return()=>{throw Error(L("function"))};throw Error(L("attribute"))}},P=()=>{const{sdk:e}=R();return r((()=>e||new Proxy(g({projectId:"dummy"}),x)),[e])},F=()=>{const{session:e,isSessionLoading:t,fetchSession:s,isSessionFetched:i}=R(),c=n(t);return r((()=>{c.current=t}),[t]),r((()=>{i||(c.current=!0)}),[i]),o((()=>{e||t||s()}),[s]),{isSessionLoading:c.current,sessionToken:e,isAuthenticated:!!e}},J=()=>{const{user:e,fetchUser:s,isUserLoading:i,session:c}=R(),[a,u]=t(!1),d=n(i),l=r((()=>!e&&!i&&c&&!a),[s,c,a]);return r((()=>{d.current=i}),[i]),r((()=>{l&&(d.current=!0)}),[l]),o((()=>{l&&(u(!0),s())}),[l]),{isUserLoading:d.current,user:e}};export{U as AuthProvider,j as Descope,v as SignInFlow,T as SignUpFlow,C as SignUpOrInFlow,b as getJwtPermissions,I as getJwtRoles,y as getRefreshToken,w as getSessionToken,S as refresh,P as useDescope,F as useSession,J as useUser};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|