@descope/vue-sdk 2.5.1 → 2.7.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/README.md +3 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +23 -1
- package/dist/index.mjs +1 -1
- package/package.json +10 -10
package/README.md
CHANGED
|
@@ -55,6 +55,8 @@ app.mount('#app');
|
|
|
55
55
|
<!-- form="{ email: 'test@domain.com' }" form is an object the initial form context that is used in screens inputs in the flow execution. Used to inject predifined input values on flow start such as custom inputs, custom attrbiutes and other inputs. Keys passed can be accessed in flows actions, conditions and screens prefixed with "form.". NOTE: form is not required. If not provided, 'form' context key will be empty before user input. -->
|
|
56
56
|
<!-- client="{ version: '1.2.3' }" client is an object the initial client context in the flow execution. Keys passed can be accessed in flows actions and conditions prefixed with "client.". NOTE: client is not required. If not provided, context key will be empty. -->
|
|
57
57
|
<!-- styleId="my-awesome-style" Use a custom style name or keep empty to use the default style. -->
|
|
58
|
+
<!-- nonce="rAnd0m" Set a CSP nonce that will be used for style and script tags -->
|
|
59
|
+
<!-- dismissScreenErrorOnInput=true Clear screen error message on user input -->
|
|
58
60
|
</template>
|
|
59
61
|
|
|
60
62
|
<script setup>
|
|
@@ -253,6 +255,7 @@ You can also use the following functions to assist with various actions managing
|
|
|
253
255
|
`isRefreshTokenExpired(token = getRefreshToken())` - Check whether the current refresh token is expired. Provide a refresh token if is not persisted.
|
|
254
256
|
`getJwtRoles(token = getSessionToken(), tenant = '')` - Get current roles from an existing session token. Provide tenant id for specific tenant roles.
|
|
255
257
|
`getJwtPermissions(token = getSessionToken(), tenant = '')` - Fet current permissions from an existing session token. Provide tenant id for specific tenant permissions.
|
|
258
|
+
`getCurrentTenant(token = getSessionToken())` - Get current tenant id from an existing session token (from the `dct` claim).
|
|
256
259
|
|
|
257
260
|
### Refresh token lifecycle
|
|
258
261
|
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),r=require("@descope/web-js-sdk");require("@descope/user-management-widget"),require("@descope/role-management-widget"),require("@descope/access-key-management-widget"),require("@descope/audit-management-widget"),require("@descope/user-profile-widget"),require("@descope/applications-portal-widget");const n=Symbol("$descope"),s={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@descope/web-component"),r=require("@descope/web-js-sdk");require("@descope/user-management-widget"),require("@descope/role-management-widget"),require("@descope/access-key-management-widget"),require("@descope/audit-management-widget"),require("@descope/user-profile-widget"),require("@descope/applications-portal-widget");const n=Symbol("$descope"),s={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.7.0"},o="undefined"!=typeof window,a=()=>{const t=e.inject(n);if(!t)throw Error("Missing Descope context, make sure you are using the Descope plugin");return t},i=()=>a().options,d=()=>a().sdk,u=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let l;const c=e=>{const t=r({persistTokens:o,storeLastAuthenticatedUser:o,...e,autoRefresh:o});return l=t,t};l=c({projectId:"temp pid"});const p=()=>o?l?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),g=()=>o?l?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),m=u(((e=p(),t)=>l?.getJwtPermissions(e,t))),b=u(((e=p(),t)=>l?.getJwtRoles(e,t))),f=u(((e=p())=>l?.getCurrentTenant(e)));var y=e.defineComponent({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean||String},validateOnBlur:{type:Boolean},restartOnError:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean}},emits:["success","error","ready"],setup(r,{emit:n}){(customElements?.get("descope-wc")||t).sdkConfigOverrides={baseHeaders:s,persistTokens:!1,hooks:{get beforeRequest(){return l.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const o=r,a=n,{projectId:u,baseUrl:c,baseStaticUrl:p,storeLastAuthenticatedUser:g,baseCdnUrl:m}=i(),b=d(),f=e.computed((()=>o.form?JSON.stringify(o.form):"")),y=e.computed((()=>o.client?JSON.stringify(o.client):"")),v=async e=>{await(b.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),a("success",e)},h=e=>a("error",e),w=e=>a("ready",e);return(t,n)=>{const s=e.resolveComponent("descope-wc");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(s,{"project-id":e.unref(u),"base-url":e.unref(c),"base-static-url":e.unref(p),"base-cdn-url":e.unref(m),"flow-id":r.flowId,"^theme":r.theme,"^locale":r.locale,"^tenant":r.tenant,"^debug":r.debug,"^telemetryKey":r.telemetryKey,"redirect-url":r.redirectUrl,"auto-focus":r.autoFocus,"style-id":r.styleId,"validate-on-blur":r.validateOnBlur,"restart-on-error":r.restartOnError,"store-last-authenticated-user":e.unref(g),".errorTransformer":r.errorTransformer,".onScreenUpdate":r.onScreenUpdate,"^form":f.value,"^client":y.value,"^nonce":r.nonce,"^dismiss-screen-error-on-input":r.dismissScreenErrorOnInput,onSuccess:v,onError:h,onReady:w},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},40,["project-id","base-url","base-static-url","base-cdn-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus","style-id","validate-on-blur","restart-on-error","store-last-authenticated-user",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input"])])}}});y.__file="src/Descope.vue";var v=e.defineComponent({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-user-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id"])])}}});v.__file="src/UserManagement.vue";var h=e.defineComponent({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-role-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-cdn-url":e.unref(o),"base-static-url":e.unref(s),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^tenant","^debug","widget-id"])])}}});h.__file="src/RoleManagement.vue";var w=e.defineComponent({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-access-key-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});w.__file="src/AccessKeyManagement.vue";var S=e.defineComponent({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-audit-management-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^tenant":t.tenant,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});S.__file="src/AuditManagement.vue";var U=e.defineComponent({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},emits:["logout"],setup(t,{emit:r}){const n=r,s=e=>n("logout",e),{projectId:o,baseUrl:a,baseStaticUrl:d,baseCdnUrl:u}=i();return(r,n)=>{const i=e.resolveComponent("descope-user-profile-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(i,{"project-id":e.unref(o),"base-url":e.unref(a),"base-static-url":e.unref(d),"base-cdn-url":e.unref(u),"^theme":t.theme,"^debug":t.debug,"widget-id":t.widgetId,onLogout:s},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id"])])}}});U.__file="src/UserProfile.vue";var k=e.defineComponent({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(t){const{projectId:r,baseUrl:n,baseStaticUrl:s,baseCdnUrl:o}=i();return(a,i)=>{const d=e.resolveComponent("descope-applications-portal-widget");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"project-id":e.unref(r),"base-url":e.unref(n),"base-static-url":e.unref(s),"base-cdn-url":e.unref(o),"^theme":t.theme,"^debug":t.debug,"widget-id":t.widgetId,"style-id":t.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id","style-id"])])}}});k.__file="src/ApplicationsPortal.vue";const C=e.ref(null);let I;var _={install:function(t,r){const o=c({persistTokens:!0,...r,autoRefresh:!0,baseHeaders:s});I=o;const a=e.ref(null),i=e.ref(""),d=e.ref(!1),u=e.ref(null),l=e.ref(null);o.onSessionTokenChange((e=>{i.value=e})),o.onIsAuthenticatedChange((e=>{d.value=e})),o.onUserChange((e=>{l.value=e}));const p=async()=>{a.value=!0,await o.refresh(),a.value=!1},g=e.computed((()=>null===a.value)),m=e.computed((()=>null===u.value));C.value=()=>new Promise(((t,r)=>{!d.value&&g.value&&p().catch(r),e.watch((()=>a.value),(()=>!a.value&&t(!!e.unref(d))),{immediate:!0})})),t.provide(n,{session:{fetchSession:p,isLoading:e.readonly(a),session:e.readonly(i),isAuthenticated:e.readonly(d),isFetchSessionWasNeverCalled:g},user:{fetchUser:async()=>{u.value=!0,await o.me(),u.value=!1},isLoading:e.readonly(u),user:e.readonly(l),isFetchUserWasNeverCalled:m},sdk:o,options:r})}};exports.AccessKeyManagement=w,exports.ApplicationsPortal=k,exports.AuditManagement=S,exports.Descope=y,exports.RoleManagement=h,exports.UserManagement=v,exports.UserProfile=U,exports.default=_,exports.getCurrentTenant=f,exports.getJwtPermissions=m,exports.getJwtRoles=b,exports.getRefreshToken=g,exports.getSdk=()=>I,exports.getSessionToken=p,exports.isRefreshTokenExpired=(e=g())=>l?.isJwtExpired(e),exports.isSessionTokenExpired=(e=p())=>l?.isJwtExpired(e),exports.routeGuard=()=>e.unref(C)?.(),exports.useDescope=d,exports.useSession=()=>{const{session:t}=a();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:t.isAuthenticated}},exports.useUser=()=>{const{user:t,session:r}=a(),n=()=>{!t.user.value&&r.session.value&&t.fetchUser()};return n(),e.watch(r.session,n),{isLoading:e.computed((()=>t.isLoading.value||t.isFetchUserWasNeverCalled.value)),user:t.user}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.ts
CHANGED
|
@@ -50,6 +50,12 @@ declare const _default$7: vue.DefineComponent<{
|
|
|
50
50
|
styleId: {
|
|
51
51
|
type: StringConstructor;
|
|
52
52
|
};
|
|
53
|
+
nonce: {
|
|
54
|
+
type: StringConstructor;
|
|
55
|
+
};
|
|
56
|
+
dismissScreenErrorOnInput: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
};
|
|
53
59
|
}, (_ctx: any, _cache: any) => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
54
60
|
[key: string]: any;
|
|
55
61
|
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, ("success" | "error" | "ready")[], "success" | "error" | "ready", vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
@@ -99,6 +105,12 @@ declare const _default$7: vue.DefineComponent<{
|
|
|
99
105
|
styleId: {
|
|
100
106
|
type: StringConstructor;
|
|
101
107
|
};
|
|
108
|
+
nonce: {
|
|
109
|
+
type: StringConstructor;
|
|
110
|
+
};
|
|
111
|
+
dismissScreenErrorOnInput: {
|
|
112
|
+
type: BooleanConstructor;
|
|
113
|
+
};
|
|
102
114
|
}>> & {
|
|
103
115
|
onSuccess?: (...args: any[]) => any;
|
|
104
116
|
onError?: (...args: any[]) => any;
|
|
@@ -107,6 +119,7 @@ declare const _default$7: vue.DefineComponent<{
|
|
|
107
119
|
debug: boolean;
|
|
108
120
|
validateOnBlur: boolean;
|
|
109
121
|
restartOnError: boolean;
|
|
122
|
+
dismissScreenErrorOnInput: boolean;
|
|
110
123
|
}, {}>;
|
|
111
124
|
|
|
112
125
|
declare const _default$6: vue.DefineComponent<{
|
|
@@ -906,6 +919,7 @@ declare const useDescope: () => ((({
|
|
|
906
919
|
getTenants: (token: string) => string[];
|
|
907
920
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
908
921
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
922
|
+
getCurrentTenant: (token: string) => string;
|
|
909
923
|
httpClient: {
|
|
910
924
|
get: (path: string, config?: {
|
|
911
925
|
headers?: HeadersInit;
|
|
@@ -1516,6 +1530,7 @@ declare const useDescope: () => ((({
|
|
|
1516
1530
|
getTenants: (token: string) => string[];
|
|
1517
1531
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
1518
1532
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
1533
|
+
getCurrentTenant: (token: string) => string;
|
|
1519
1534
|
httpClient: {
|
|
1520
1535
|
get: (path: string, config?: {
|
|
1521
1536
|
headers?: HeadersInit;
|
|
@@ -2133,6 +2148,7 @@ declare const useDescope: () => ((({
|
|
|
2133
2148
|
getTenants: (token: string) => string[];
|
|
2134
2149
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
2135
2150
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
2151
|
+
getCurrentTenant: (token: string) => string;
|
|
2136
2152
|
httpClient: {
|
|
2137
2153
|
get: (path: string, config?: {
|
|
2138
2154
|
headers?: HeadersInit;
|
|
@@ -2743,6 +2759,7 @@ declare const useDescope: () => ((({
|
|
|
2743
2759
|
getTenants: (token: string) => string[];
|
|
2744
2760
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
2745
2761
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
2762
|
+
getCurrentTenant: (token: string) => string;
|
|
2746
2763
|
httpClient: {
|
|
2747
2764
|
get: (path: string, config?: {
|
|
2748
2765
|
headers?: HeadersInit;
|
|
@@ -3380,6 +3397,7 @@ declare const getSdk: () => ((({
|
|
|
3380
3397
|
getTenants: (token: string) => string[];
|
|
3381
3398
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
3382
3399
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
3400
|
+
getCurrentTenant: (token: string) => string;
|
|
3383
3401
|
httpClient: {
|
|
3384
3402
|
get: (path: string, config?: {
|
|
3385
3403
|
headers?: HeadersInit;
|
|
@@ -3990,6 +4008,7 @@ declare const getSdk: () => ((({
|
|
|
3990
4008
|
getTenants: (token: string) => string[];
|
|
3991
4009
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
3992
4010
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
4011
|
+
getCurrentTenant: (token: string) => string;
|
|
3993
4012
|
httpClient: {
|
|
3994
4013
|
get: (path: string, config?: {
|
|
3995
4014
|
headers?: HeadersInit;
|
|
@@ -4607,6 +4626,7 @@ declare const getSdk: () => ((({
|
|
|
4607
4626
|
getTenants: (token: string) => string[];
|
|
4608
4627
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
4609
4628
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
4629
|
+
getCurrentTenant: (token: string) => string;
|
|
4610
4630
|
httpClient: {
|
|
4611
4631
|
get: (path: string, config?: {
|
|
4612
4632
|
headers?: HeadersInit;
|
|
@@ -5217,6 +5237,7 @@ declare const getSdk: () => ((({
|
|
|
5217
5237
|
getTenants: (token: string) => string[];
|
|
5218
5238
|
getJwtPermissions: (token: string, tenant?: string) => string[];
|
|
5219
5239
|
getJwtRoles: (token: string, tenant?: string) => string[];
|
|
5240
|
+
getCurrentTenant: (token: string) => string;
|
|
5220
5241
|
httpClient: {
|
|
5221
5242
|
get: (path: string, config?: {
|
|
5222
5243
|
headers?: HeadersInit;
|
|
@@ -5283,5 +5304,6 @@ declare const isSessionTokenExpired: (token?: string) => boolean;
|
|
|
5283
5304
|
declare const isRefreshTokenExpired: (token?: string) => boolean;
|
|
5284
5305
|
declare const getJwtPermissions: (token?: any, tenant?: string) => string[];
|
|
5285
5306
|
declare const getJwtRoles: (token?: any, tenant?: string) => string[];
|
|
5307
|
+
declare const getCurrentTenant: (token?: any) => string;
|
|
5286
5308
|
|
|
5287
|
-
export { _default$4 as AccessKeyManagement, _default$1 as ApplicationsPortal, _default$3 as AuditManagement, _default$7 as Descope, _default$5 as RoleManagement, _default$6 as UserManagement, _default$2 as UserProfile, _default as default, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, isRefreshTokenExpired, isSessionTokenExpired, routeGuard, useDescope, useSession, useUser };
|
|
5309
|
+
export { _default$4 as AccessKeyManagement, _default$1 as ApplicationsPortal, _default$3 as AuditManagement, _default$7 as Descope, _default$5 as RoleManagement, _default$6 as UserManagement, _default$2 as UserProfile, _default as default, getCurrentTenant, getJwtPermissions, getJwtRoles, getRefreshToken, getSdk, getSessionToken, isRefreshTokenExpired, isSessionTokenExpired, routeGuard, useDescope, useSession, useUser };
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed as e,watch as t,inject as r,defineComponent as s,resolveComponent as n,openBlock as a,createElementBlock as i,createVNode as o,unref as d,withCtx as l,renderSlot as u,ref as c,readonly as p}from"vue";import g from"@descope/web-component";import m from"@descope/web-js-sdk";import"@descope/user-management-widget";import"@descope/role-management-widget";import"@descope/access-key-management-widget";import"@descope/audit-management-widget";import"@descope/user-profile-widget";import"@descope/applications-portal-widget";const b=Symbol("$descope"),y={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.
|
|
1
|
+
import{computed as e,watch as t,inject as r,defineComponent as s,resolveComponent as n,openBlock as a,createElementBlock as i,createVNode as o,unref as d,withCtx as l,renderSlot as u,ref as c,readonly as p}from"vue";import g from"@descope/web-component";import m from"@descope/web-js-sdk";import"@descope/user-management-widget";import"@descope/role-management-widget";import"@descope/access-key-management-widget";import"@descope/audit-management-widget";import"@descope/user-profile-widget";import"@descope/applications-portal-widget";const b=Symbol("$descope"),y={"x-descope-sdk-name":"vue","x-descope-sdk-version":"2.7.0"},h="undefined"!=typeof window,v=()=>{const e=r(b);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},w=()=>v().options,S=()=>v().sdk,f=()=>{const{session:t}=v();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:t.isAuthenticated}},U=()=>{const{user:r,session:s}=v(),n=()=>{!r.user.value&&s.session.value&&r.fetchUser()};return n(),t(s.session,n),{isLoading:e((()=>r.isLoading.value||r.isFetchUserWasNeverCalled.value)),user:r.user}},I=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let _;const j=e=>{const t=m({persistTokens:h,storeLastAuthenticatedUser:h,...e,autoRefresh:h});return _=t,t};_=j({projectId:"temp pid"});const k=()=>h?_?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),C=()=>h?_?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),q=(e=k())=>_?.isJwtExpired(e),A=(e=C())=>_?.isJwtExpired(e),R=I(((e=k(),t)=>_?.getJwtPermissions(e,t))),B=I(((e=k(),t)=>_?.getJwtRoles(e,t))),M=I(((e=k())=>_?.getCurrentTenant(e)));var O=s({__name:"Descope",props:{flowId:{type:String,required:!0},tenant:{type:String},theme:{type:String},locale:{type:String},debug:{type:Boolean},telemetryKey:{type:String},redirectUrl:{type:String},autoFocus:{type:Boolean||String},validateOnBlur:{type:Boolean},restartOnError:{type:Boolean},errorTransformer:{type:Function},onScreenUpdate:{type:Function},form:{type:Object},client:{type:Object},styleId:{type:String},nonce:{type:String},dismissScreenErrorOnInput:{type:Boolean}},emits:["success","error","ready"],setup(t,{emit:r}){(customElements?.get("descope-wc")||g).sdkConfigOverrides={baseHeaders:y,persistTokens:!1,hooks:{get beforeRequest(){return _.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const s=t,c=r,{projectId:p,baseUrl:m,baseStaticUrl:b,storeLastAuthenticatedUser:h,baseCdnUrl:v}=w(),f=S(),U=e((()=>s.form?JSON.stringify(s.form):"")),I=e((()=>s.client?JSON.stringify(s.client):"")),j=async e=>{await(f.httpClient.hooks?.afterRequest?.({},new Response(JSON.stringify(e.detail)))),c("success",e)},k=e=>c("error",e),C=e=>c("ready",e);return(e,r)=>{const s=n("descope-wc");return a(),i("div",null,[o(s,{"project-id":d(p),"base-url":d(m),"base-static-url":d(b),"base-cdn-url":d(v),"flow-id":t.flowId,"^theme":t.theme,"^locale":t.locale,"^tenant":t.tenant,"^debug":t.debug,"^telemetryKey":t.telemetryKey,"redirect-url":t.redirectUrl,"auto-focus":t.autoFocus,"style-id":t.styleId,"validate-on-blur":t.validateOnBlur,"restart-on-error":t.restartOnError,"store-last-authenticated-user":d(h),".errorTransformer":t.errorTransformer,".onScreenUpdate":t.onScreenUpdate,"^form":U.value,"^client":I.value,"^nonce":t.nonce,"^dismiss-screen-error-on-input":t.dismissScreenErrorOnInput,onSuccess:j,onError:k,onReady:C},{default:l((()=>[u(e.$slots,"default")])),_:3},40,["project-id","base-url","base-static-url","base-cdn-url","flow-id","^theme","^locale","^tenant","^debug","^telemetryKey","redirect-url","auto-focus","style-id","validate-on-blur","restart-on-error","store-last-authenticated-user",".errorTransformer",".onScreenUpdate","^form","^client","^nonce","^dismiss-screen-error-on-input"])])}}});O.__file="src/Descope.vue";var T=s({__name:"UserManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-user-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id"])])}}});T.__file="src/UserManagement.vue";var E=s({__name:"RoleManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-role-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-cdn-url":d(l),"base-static-url":d(s),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId},null,8,["project-id","base-url","base-cdn-url","base-static-url","^theme","^tenant","^debug","widget-id"])])}}});E.__file="src/RoleManagement.vue";var F=s({__name:"AccessKeyManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-access-key-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});F.__file="src/AccessKeyManagement.vue";var L=s({__name:"AuditManagement",props:{tenant:{type:String,required:!0},widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-audit-management-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^tenant":e.tenant,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^tenant","^debug","widget-id","style-id"])])}}});L.__file="src/AuditManagement.vue";var N=s({__name:"UserProfile",props:{widgetId:{type:String,required:!0},theme:{type:String},debug:{type:Boolean}},emits:["logout"],setup(e,{emit:t}){const r=t,s=e=>r("logout",e),{projectId:l,baseUrl:u,baseStaticUrl:c,baseCdnUrl:p}=w();return(t,r)=>{const g=n("descope-user-profile-widget");return a(),i("div",null,[o(g,{"project-id":d(l),"base-url":d(u),"base-static-url":d(c),"base-cdn-url":d(p),"^theme":e.theme,"^debug":e.debug,"widget-id":e.widgetId,onLogout:s},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id"])])}}});N.__file="src/UserProfile.vue";var P=s({__name:"ApplicationsPortal",props:{widgetId:{type:String,required:!0},theme:{type:String},styleId:{type:String},debug:{type:Boolean}},setup(e){const{projectId:t,baseUrl:r,baseStaticUrl:s,baseCdnUrl:l}=w();return(u,c)=>{const p=n("descope-applications-portal-widget");return a(),i("div",null,[o(p,{"project-id":d(t),"base-url":d(r),"base-static-url":d(s),"base-cdn-url":d(l),"^theme":e.theme,"^debug":e.debug,"widget-id":e.widgetId,"style-id":e.styleId},null,8,["project-id","base-url","base-static-url","base-cdn-url","^theme","^debug","widget-id","style-id"])])}}});P.__file="src/ApplicationsPortal.vue";const J=c(null),K=()=>d(J)?.();let x;const D=()=>x;var W={install:function(r,s){const n=j({persistTokens:!0,...s,autoRefresh:!0,baseHeaders:y});x=n;const a=c(null),i=c(""),o=c(!1),l=c(null),u=c(null);n.onSessionTokenChange((e=>{i.value=e})),n.onIsAuthenticatedChange((e=>{o.value=e})),n.onUserChange((e=>{u.value=e}));const g=async()=>{a.value=!0,await n.refresh(),a.value=!1},m=e((()=>null===a.value)),h=e((()=>null===l.value));J.value=()=>new Promise(((e,r)=>{!o.value&&m.value&&g().catch(r),t((()=>a.value),(()=>!a.value&&e(!!d(o))),{immediate:!0})})),r.provide(b,{session:{fetchSession:g,isLoading:p(a),session:p(i),isAuthenticated:p(o),isFetchSessionWasNeverCalled:m},user:{fetchUser:async()=>{l.value=!0,await n.me(),l.value=!1},isLoading:p(l),user:p(u),isFetchUserWasNeverCalled:h},sdk:n,options:s})}};export{F as AccessKeyManagement,P as ApplicationsPortal,L as AuditManagement,O as Descope,E as RoleManagement,T as UserManagement,N as UserProfile,W as default,M as getCurrentTenant,R as getJwtPermissions,B as getJwtRoles,C as getRefreshToken,D as getSdk,k as getSessionToken,A as isRefreshTokenExpired,q as isSessionTokenExpired,K as routeGuard,S as useDescope,f as useSession,U as useUser};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descope/vue-sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"main": "dist/index.cjs",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
]
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@descope/access-key-management-widget": "0.4.
|
|
29
|
-
"@descope/audit-management-widget": "0.4.
|
|
30
|
-
"@descope/
|
|
31
|
-
"@descope/user-
|
|
32
|
-
"@descope/
|
|
33
|
-
"@descope/applications-portal-widget": "0.3.
|
|
34
|
-
"@descope/web-
|
|
35
|
-
"@descope/core-js-sdk": "2.
|
|
36
|
-
"@descope/web-
|
|
28
|
+
"@descope/access-key-management-widget": "0.4.5",
|
|
29
|
+
"@descope/audit-management-widget": "0.4.5",
|
|
30
|
+
"@descope/user-management-widget": "0.7.5",
|
|
31
|
+
"@descope/user-profile-widget": "0.4.0",
|
|
32
|
+
"@descope/role-management-widget": "0.3.5",
|
|
33
|
+
"@descope/applications-portal-widget": "0.3.5",
|
|
34
|
+
"@descope/web-js-sdk": "1.26.2",
|
|
35
|
+
"@descope/core-js-sdk": "2.38.0",
|
|
36
|
+
"@descope/web-component": "3.39.0"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"vue": ">=3"
|