@descope/vue-sdk 2.2.29 → 2.4.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 +35 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.mjs +1 -1
- package/package.json +13 -13
- package/dist/index.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -87,6 +87,37 @@ const handleReady = () => {
|
|
|
87
87
|
</script>
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
+
### `onScreenUpdate`
|
|
91
|
+
|
|
92
|
+
A function that is called whenever there is a new screen state and after every next call. It receives the following parameters:
|
|
93
|
+
|
|
94
|
+
- `screenName`: The name of the screen that is about to be rendered
|
|
95
|
+
- `context`: An object containing the upcoming screen state
|
|
96
|
+
- `next`: A function that, when called, continues the flow execution
|
|
97
|
+
- `ref`: A reference to the descope-wc node
|
|
98
|
+
|
|
99
|
+
The function can be sync or async, and should return a boolean indicating whether a custom screen should be rendered:
|
|
100
|
+
|
|
101
|
+
- `true`: Render a custom screen
|
|
102
|
+
- `false`: Render the default flow screen
|
|
103
|
+
|
|
104
|
+
This function allows rendering custom screens instead of the default flow screens.
|
|
105
|
+
It can be useful for highly customized UIs or specific logic not covered by the default screens
|
|
106
|
+
|
|
107
|
+
To render a custom screen, its elements should be appended as children of the `Descope` component
|
|
108
|
+
|
|
109
|
+
Usage example:
|
|
110
|
+
|
|
111
|
+
```javascript
|
|
112
|
+
function onScreenUpdate(screenName, context, next) {
|
|
113
|
+
if (screenName === 'My Custom Screen') {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
90
121
|
### Use the `useDescope`, `useSession` and `useUser` functions in your components in order to get authentication state, user details and utilities
|
|
91
122
|
|
|
92
123
|
This can be helpful to implement application-specific logic. Examples:
|
|
@@ -131,7 +162,7 @@ Note: Descope also provides server-side SDKs in various languages (NodeJS, Go, P
|
|
|
131
162
|
There are 2 ways to achieve that:
|
|
132
163
|
|
|
133
164
|
1. Using `getSessionToken` to get the token, and pass it on the `Authorization` Header (Recommended)
|
|
134
|
-
2. Passing `sessionTokenViaCookie`
|
|
165
|
+
2. Passing `sessionTokenViaCookie` option when initializing the plugin (Use cautiously, session token may grow, especially in cases of using authorization, or adding custom claim)
|
|
135
166
|
|
|
136
167
|
#### 1. Using `getSessionToken` to get the token
|
|
137
168
|
|
|
@@ -174,6 +205,9 @@ app.use(descope, {
|
|
|
174
205
|
});
|
|
175
206
|
```
|
|
176
207
|
|
|
208
|
+
Note: The session token cookie is set to [`SameSite=Strict`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value) by default.
|
|
209
|
+
If you need to customize this, you can set `sessionTokenViaCookie={sameSite: 'Lax'}`
|
|
210
|
+
|
|
177
211
|
Now, whenever you call `fetch`, the cookie will automatically be sent with the request.
|
|
178
212
|
Descope backend SDKs also support extracting the token from the `DS` cookie.
|
|
179
213
|
|
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");
|
|
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.4.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,l=e=>(...t)=>{let r;try{r=e(...t)}catch(e){console.error(e)}return r};let u;const c=e=>{const t=r({persistTokens:o,storeLastAuthenticatedUser:o,...e,autoRefresh:o});return u=t,t};u=c({projectId:"temp pid"});const p=()=>o?u?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),g=()=>o?u?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),m=l(((e=p(),t)=>u?.getJwtPermissions(e,t))),b=l(((e=p(),t)=>u?.getJwtRoles(e,t)));var f=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}},emits:["success","error","ready"],setup(r,{emit:n}){(customElements?.get("descope-wc")||t).sdkConfigOverrides={baseHeaders:s,persistTokens:!1,hooks:{get beforeRequest(){return u.httpClient.hooks.beforeRequest},set beforeRequest(e){}}};const o=r,a=n,{projectId:l,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(l),"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,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"])])}}});f.__file="src/Descope.vue";var y=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"])])}}});y.__file="src/UserManagement.vue";var v=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"])])}}});v.__file="src/RoleManagement.vue";var h=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"])])}}});h.__file="src/AccessKeyManagement.vue";var w=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"])])}}});w.__file="src/AuditManagement.vue";var S=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:l}=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(l),"^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"])])}}});S.__file="src/UserProfile.vue";var U=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"])])}}});U.__file="src/ApplicationsPortal.vue";const k=e.ref(null);let C;var _={install:function(t,r){const o=c({persistTokens:!0,...r,autoRefresh:!0,baseHeaders:s});C=o;const a=e.ref(null),i=e.ref(""),d=e.ref(null),l=e.ref(null);o.onSessionTokenChange((e=>{i.value=e})),o.onUserChange((e=>{l.value=e}));const u=async()=>{a.value=!0,await o.refresh(),a.value=!1},p=e.computed((()=>null===a.value)),g=e.computed((()=>null===d.value));k.value=()=>new Promise(((t,r)=>{!i.value&&p.value&&u().catch(r),e.watch((()=>a.value),(()=>!a.value&&t(!!e.unref(i))),{immediate:!0})})),t.provide(n,{session:{fetchSession:u,isLoading:e.readonly(a),session:e.readonly(i),isFetchSessionWasNeverCalled:p},user:{fetchUser:async()=>{d.value=!0,await o.me(),d.value=!1},isLoading:e.readonly(d),user:e.readonly(l),isFetchUserWasNeverCalled:g},sdk:o,options:r})}};exports.AccessKeyManagement=h,exports.ApplicationsPortal=U,exports.AuditManagement=w,exports.Descope=f,exports.RoleManagement=v,exports.UserManagement=y,exports.UserProfile=S,exports.default=_,exports.getJwtPermissions=m,exports.getJwtRoles=b,exports.getRefreshToken=g,exports.getSdk=()=>C,exports.getSessionToken=p,exports.isRefreshTokenExpired=(e=g())=>u?.isJwtExpired(e),exports.isSessionTokenExpired=(e=p())=>u?.isJwtExpired(e),exports.routeGuard=()=>e.unref(k)?.(),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:e.computed((()=>!!t.session.value))}},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
|
@@ -38,6 +38,9 @@ declare const _default$7: vue.DefineComponent<{
|
|
|
38
38
|
errorTransformer: {
|
|
39
39
|
type: FunctionConstructor;
|
|
40
40
|
};
|
|
41
|
+
onScreenUpdate: {
|
|
42
|
+
type: FunctionConstructor;
|
|
43
|
+
};
|
|
41
44
|
form: {
|
|
42
45
|
type: ObjectConstructor;
|
|
43
46
|
};
|
|
@@ -84,6 +87,9 @@ declare const _default$7: vue.DefineComponent<{
|
|
|
84
87
|
errorTransformer: {
|
|
85
88
|
type: FunctionConstructor;
|
|
86
89
|
};
|
|
90
|
+
onScreenUpdate: {
|
|
91
|
+
type: FunctionConstructor;
|
|
92
|
+
};
|
|
87
93
|
form: {
|
|
88
94
|
type: ObjectConstructor;
|
|
89
95
|
};
|
|
@@ -327,8 +333,11 @@ type Options = {
|
|
|
327
333
|
projectId: string;
|
|
328
334
|
baseUrl?: string;
|
|
329
335
|
baseStaticUrl?: string;
|
|
336
|
+
baseCdnUrl?: string;
|
|
330
337
|
persistTokens?: boolean;
|
|
331
|
-
sessionTokenViaCookie?: boolean
|
|
338
|
+
sessionTokenViaCookie?: boolean | {
|
|
339
|
+
sameSite: 'Strict' | 'Lax' | 'None';
|
|
340
|
+
};
|
|
332
341
|
storeLastAuthenticatedUser?: boolean;
|
|
333
342
|
};
|
|
334
343
|
|
|
@@ -5272,4 +5281,3 @@ declare const getJwtPermissions: (token?: any, tenant?: string) => string[];
|
|
|
5272
5281
|
declare const getJwtRoles: (token?: any, tenant?: string) => string[];
|
|
5273
5282
|
|
|
5274
5283
|
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 };
|
|
5275
|
-
//# sourceMappingURL=index.d.ts.map
|
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 l,ref as
|
|
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.4.0"},v="undefined"!=typeof window,h=()=>{const e=r(b);if(!e)throw Error("Missing Descope context, make sure you are using the Descope plugin");return e},w=()=>h().options,f=()=>h().sdk,S=()=>{const{session:t}=h();return t.isFetchSessionWasNeverCalled.value&&t.fetchSession(),{isLoading:e((()=>t.isLoading.value||t.isFetchSessionWasNeverCalled.value)),sessionToken:t.session,isAuthenticated:e((()=>!!t.session.value))}},U=()=>{const{user:r,session:s}=h(),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:v,storeLastAuthenticatedUser:v,...e,autoRefresh:v});return _=t,t};_=j({projectId:"temp pid"});const k=()=>v?_?.getSessionToken():(console.warn("Get session token is not supported in SSR"),""),C=()=>v?_?.getRefreshToken():(console.warn("Get refresh token is not supported in SSR"),""),q=(e=k())=>_?.isJwtExpired(e),R=(e=C())=>_?.isJwtExpired(e),M=I(((e=k(),t)=>_?.getJwtPermissions(e,t))),A=I(((e=k(),t)=>_?.getJwtRoles(e,t)));var B=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}},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:v,baseCdnUrl:h}=w(),S=f(),U=e((()=>s.form?JSON.stringify(s.form):"")),I=e((()=>s.client?JSON.stringify(s.client):"")),j=async e=>{await(S.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(h),"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(v),".errorTransformer":t.errorTransformer,".onScreenUpdate":t.onScreenUpdate,"^form":U.value,"^client":I.value,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"])])}}});B.__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 O=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"])])}}});O.__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 E=c(null),J=()=>d(E)?.();let K;const x=()=>K;var D={install:function(r,s){const n=j({persistTokens:!0,...s,autoRefresh:!0,baseHeaders:y});K=n;const a=c(null),i=c(""),o=c(null),l=c(null);n.onSessionTokenChange((e=>{i.value=e})),n.onUserChange((e=>{l.value=e}));const u=async()=>{a.value=!0,await n.refresh(),a.value=!1},g=e((()=>null===a.value)),m=e((()=>null===o.value));E.value=()=>new Promise(((e,r)=>{!i.value&&g.value&&u().catch(r),t((()=>a.value),(()=>!a.value&&e(!!d(i))),{immediate:!0})})),r.provide(b,{session:{fetchSession:u,isLoading:p(a),session:p(i),isFetchSessionWasNeverCalled:g},user:{fetchUser:async()=>{o.value=!0,await n.me(),o.value=!1},isLoading:p(o),user:p(l),isFetchUserWasNeverCalled:m},sdk:n,options:s})}};export{F as AccessKeyManagement,P as ApplicationsPortal,L as AuditManagement,B as Descope,O as RoleManagement,T as UserManagement,N as UserProfile,D as default,M as getJwtPermissions,A as getJwtRoles,C as getRefreshToken,x as getSdk,k as getSessionToken,R as isRefreshTokenExpired,q as isSessionTokenExpired,J as routeGuard,f as useDescope,S 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.4.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/
|
|
29
|
-
"@descope/
|
|
30
|
-
"@descope/
|
|
31
|
-
"@descope/
|
|
32
|
-
"@descope/
|
|
33
|
-
"@descope/
|
|
34
|
-
"@descope/
|
|
35
|
-
"@descope/web-js-sdk": "1.
|
|
36
|
-
"@descope/core-js-sdk": "2.
|
|
28
|
+
"@descope/access-key-management-widget": "0.3.19",
|
|
29
|
+
"@descope/audit-management-widget": "0.3.1",
|
|
30
|
+
"@descope/role-management-widget": "0.2.23",
|
|
31
|
+
"@descope/user-management-widget": "0.6.18",
|
|
32
|
+
"@descope/user-profile-widget": "0.2.19",
|
|
33
|
+
"@descope/applications-portal-widget": "0.2.22",
|
|
34
|
+
"@descope/web-component": "3.34.1",
|
|
35
|
+
"@descope/web-js-sdk": "1.24.0",
|
|
36
|
+
"@descope/core-js-sdk": "2.34.0"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"vue": ">=3"
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"lint-staged": "^13.0.3",
|
|
63
63
|
"prettier": "^2.4.1",
|
|
64
64
|
"pretty-quick": "^3.1.3",
|
|
65
|
-
"rollup": "^
|
|
65
|
+
"rollup": "^4.0.0",
|
|
66
66
|
"rollup-plugin-auto-external": "^2.0.0",
|
|
67
67
|
"rollup-plugin-commonjs": "^10.1.0",
|
|
68
68
|
"rollup-plugin-define": "1.0.1",
|
|
69
69
|
"rollup-plugin-delete": "^2.0.0",
|
|
70
|
-
"rollup-plugin-dts": "^
|
|
70
|
+
"rollup-plugin-dts": "^6.1.1",
|
|
71
71
|
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
72
72
|
"rollup-plugin-terser": "^7.0.2",
|
|
73
73
|
"rollup-plugin-typescript2": "^0.36.0",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
},
|
|
85
85
|
"scripts": {
|
|
86
86
|
"start": "vue-cli-service serve --port 3000",
|
|
87
|
-
"build": "rollup -
|
|
87
|
+
"build": "rollup -c",
|
|
88
88
|
"test": "vue-cli-service test:unit",
|
|
89
89
|
"lint": "vue-cli-service lint",
|
|
90
90
|
"format-lint": "pretty-quick --staged --ignore-path .gitignore && lint-staged",
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|