@urga-panel/ur-panels-core 1.0.6 → 1.0.8
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/services/abstract/authServices/AuthService.js +7 -5
- package/dist/services/abstract/project/ProjectInfoService.d.ts +1 -0
- package/dist/services/abstract/project/ProjectInfoService.js +7 -0
- package/package.json +1 -1
- package/src/services/abstract/authServices/AuthService.ts +8 -5
- package/src/services/abstract/project/ProjectInfoService.ts +12 -0
|
@@ -112,12 +112,14 @@ export class AuthService extends Service {
|
|
|
112
112
|
databaseId: result.user.databaseId,
|
|
113
113
|
databases: result.user.databases // databaseId eklendi
|
|
114
114
|
}, JWT_REFRESH_SECRET, { expiresIn: '7d' });
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
// --- ENVIRONMENT-BASED COOKIE SETTINGS ---
|
|
116
|
+
const isProd = process.env.NODE_ENV === 'production';
|
|
117
|
+
const domain = isProd ? '.urpanels.com' : '.local.test';
|
|
118
|
+
const secure = isProd ? 'Secure; ' : '';
|
|
119
|
+
const sameSite = isProd ? 'Strict' : 'Lax';
|
|
118
120
|
const headers = new Headers();
|
|
119
|
-
headers.append("Set-Cookie", `accessToken=${accessToken}; Path=/; Domain
|
|
120
|
-
headers.append("Set-Cookie", `refreshToken=${refreshToken}; Path=/; Domain
|
|
121
|
+
headers.append("Set-Cookie", `accessToken=${accessToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=900`);
|
|
122
|
+
headers.append("Set-Cookie", `refreshToken=${refreshToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=604800`);
|
|
121
123
|
headers.append("Content-Type", `application/json`);
|
|
122
124
|
return new Response(JSON.stringify({ status: "success", message: "valid credentials", data: { user: result.user } }), {
|
|
123
125
|
status: 200,
|
|
@@ -28,6 +28,7 @@ export declare abstract class ProjectInfoService extends Service {
|
|
|
28
28
|
requiredServices: any[];
|
|
29
29
|
};
|
|
30
30
|
abstract pages: ProjectsPages;
|
|
31
|
+
abstract frontServices: any;
|
|
31
32
|
constructor(ots: ProjectInfoOts);
|
|
32
33
|
protected onSetup(options?: ServiceSetupOptions): Promise<ServiceResponse>;
|
|
33
34
|
protected onStart(): Promise<ServiceResponse>;
|
|
@@ -11,6 +11,13 @@ export class ProjectInfoService extends Service {
|
|
|
11
11
|
this.ots = ots;
|
|
12
12
|
}
|
|
13
13
|
async onSetup(options) {
|
|
14
|
+
Object.keys(this.frontServices).forEach(async (tag) => {
|
|
15
|
+
const service = this.ots.abilities.createChildService?.(tag, this.frontServices[tag].serviceRef || PageService);
|
|
16
|
+
if (service) {
|
|
17
|
+
this.frontServices[tag].service = service;
|
|
18
|
+
}
|
|
19
|
+
await service.setup();
|
|
20
|
+
});
|
|
14
21
|
// Create a service for each page
|
|
15
22
|
Object.keys(this.pages).forEach(async (tag) => {
|
|
16
23
|
const service = this.ots.abilities.createChildService?.("ProjectPage-" + tag, this.pages[tag].serviceRef || PageService);
|
package/package.json
CHANGED
|
@@ -174,19 +174,22 @@ export abstract class AuthService extends Service {
|
|
|
174
174
|
{ expiresIn: '7d' }
|
|
175
175
|
);
|
|
176
176
|
|
|
177
|
-
//
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
// --- ENVIRONMENT-BASED COOKIE SETTINGS ---
|
|
178
|
+
const isProd = process.env.NODE_ENV === 'production';
|
|
179
|
+
const domain = isProd ? '.urpanels.com' : '.local.test';
|
|
180
|
+
const secure = isProd ? 'Secure; ' : '';
|
|
181
|
+
const sameSite = isProd ? 'Strict' : 'Lax';
|
|
182
|
+
|
|
180
183
|
const headers = new Headers();
|
|
181
184
|
|
|
182
185
|
headers.append(
|
|
183
186
|
"Set-Cookie",
|
|
184
|
-
`accessToken=${accessToken}; Path=/; Domain
|
|
187
|
+
`accessToken=${accessToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=900`
|
|
185
188
|
);
|
|
186
189
|
|
|
187
190
|
headers.append(
|
|
188
191
|
"Set-Cookie",
|
|
189
|
-
`refreshToken=${refreshToken}; Path=/; Domain
|
|
192
|
+
`refreshToken=${refreshToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=604800`
|
|
190
193
|
);
|
|
191
194
|
headers.append(
|
|
192
195
|
"Content-Type",
|
|
@@ -34,12 +34,24 @@ export abstract class ProjectInfoService extends Service {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
abstract pages: ProjectsPages;
|
|
37
|
+
abstract frontServices: any;
|
|
37
38
|
|
|
38
39
|
constructor(public ots: ProjectInfoOts) {
|
|
39
40
|
super({ ...ots });
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
protected async onSetup(options?: ServiceSetupOptions): Promise<ServiceResponse> {
|
|
44
|
+
|
|
45
|
+
Object.keys(this.frontServices).forEach(async tag => {
|
|
46
|
+
const service = this.ots.abilities.createChildService?.(tag,
|
|
47
|
+
this.frontServices[tag].serviceRef || PageService
|
|
48
|
+
);
|
|
49
|
+
if (service) {
|
|
50
|
+
this.frontServices[tag].service = service as PageService;
|
|
51
|
+
}
|
|
52
|
+
await service.setup();
|
|
53
|
+
});
|
|
54
|
+
|
|
43
55
|
// Create a service for each page
|
|
44
56
|
Object.keys(this.pages).forEach(async tag => {
|
|
45
57
|
const service = this.ots.abilities.createChildService?.("ProjectPage-" + tag,
|