@spinajs/rbac-http-user 2.0.192 → 2.0.194
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/lib/cjs/controllers/LoginController.d.ts +2 -0
- package/lib/cjs/controllers/LoginController.d.ts.map +1 -1
- package/lib/cjs/controllers/LoginController.js +17 -1
- package/lib/cjs/controllers/LoginController.js.map +1 -1
- package/lib/mjs/controllers/LoginController.d.ts +2 -0
- package/lib/mjs/controllers/LoginController.d.ts.map +1 -1
- package/lib/mjs/controllers/LoginController.js +18 -2
- package/lib/mjs/controllers/LoginController.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
|
@@ -2,6 +2,7 @@ import { UserLoginDto } from '../dto/userLogin-dto.js';
|
|
|
2
2
|
import { BaseController, Ok, Unauthorized } from '@spinajs/http';
|
|
3
3
|
import { AuthProvider, SessionProvider } from '@spinajs/rbac';
|
|
4
4
|
import { Configuration } from '@spinajs/configuration';
|
|
5
|
+
import { User } from '@spinajs/rbac';
|
|
5
6
|
export declare class LoginController extends BaseController {
|
|
6
7
|
protected Configuration: Configuration;
|
|
7
8
|
protected AuthProvider: AuthProvider;
|
|
@@ -9,5 +10,6 @@ export declare class LoginController extends BaseController {
|
|
|
9
10
|
protected SessionExpirationTime: number;
|
|
10
11
|
login(credentials: UserLoginDto): Promise<Ok | Unauthorized>;
|
|
11
12
|
logout(ssid: string): Promise<Ok>;
|
|
13
|
+
whoami(User: User): Promise<Ok>;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=LoginController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAEjF,OAAO,EAA6B,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAEjF,OAAO,EAA6B,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,qBACa,eAAgB,SAAQ,cAAc;IAEjD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAK3C,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAI3B,KAAK,CAAS,WAAW,EAAE,YAAY;IAwJvC,MAAM,CAAW,IAAI,EAAE,MAAM;IAwB7B,MAAM,CAAiB,IAAI,EAAE,IAAI;CA0F/C"}
|
|
@@ -19,6 +19,7 @@ const rbac_1 = require("@spinajs/rbac");
|
|
|
19
19
|
const di_1 = require("@spinajs/di");
|
|
20
20
|
const configuration_1 = require("@spinajs/configuration");
|
|
21
21
|
const rbac_http_1 = require("@spinajs/rbac-http");
|
|
22
|
+
const rbac_2 = require("@spinajs/rbac");
|
|
22
23
|
let LoginController = class LoginController extends http_1.BaseController {
|
|
23
24
|
async login(credentials) {
|
|
24
25
|
try {
|
|
@@ -28,6 +29,8 @@ let LoginController = class LoginController extends http_1.BaseController {
|
|
|
28
29
|
session.Data.set('User', dUser);
|
|
29
30
|
// TEMP
|
|
30
31
|
session.Data.set('Authorized', true);
|
|
32
|
+
// set expiration time ( default val in config )
|
|
33
|
+
session.extend();
|
|
31
34
|
await this.SessionProvider.save(session);
|
|
32
35
|
this._log.trace('User logged in', user);
|
|
33
36
|
return new http_1.Ok(user, {
|
|
@@ -38,7 +41,8 @@ let LoginController = class LoginController extends http_1.BaseController {
|
|
|
38
41
|
Options: {
|
|
39
42
|
signed: true,
|
|
40
43
|
httpOnly: true,
|
|
41
|
-
|
|
44
|
+
// set expiration time in ms
|
|
45
|
+
maxAge: this.SessionExpirationTime * 1000,
|
|
42
46
|
},
|
|
43
47
|
},
|
|
44
48
|
],
|
|
@@ -161,6 +165,10 @@ let LoginController = class LoginController extends http_1.BaseController {
|
|
|
161
165
|
],
|
|
162
166
|
});
|
|
163
167
|
}
|
|
168
|
+
async whoami(User) {
|
|
169
|
+
// user is taken from session data
|
|
170
|
+
return new http_1.Ok(User);
|
|
171
|
+
}
|
|
164
172
|
};
|
|
165
173
|
exports.LoginController = LoginController;
|
|
166
174
|
__decorate([
|
|
@@ -197,6 +205,14 @@ __decorate([
|
|
|
197
205
|
__metadata("design:paramtypes", [String]),
|
|
198
206
|
__metadata("design:returntype", Promise)
|
|
199
207
|
], LoginController.prototype, "logout", null);
|
|
208
|
+
__decorate([
|
|
209
|
+
(0, http_1.Get)(),
|
|
210
|
+
(0, http_1.Policy)(rbac_http_1.LoggedPolicy),
|
|
211
|
+
__param(0, (0, rbac_http_1.User)()),
|
|
212
|
+
__metadata("design:type", Function),
|
|
213
|
+
__metadata("design:paramtypes", [rbac_2.User]),
|
|
214
|
+
__metadata("design:returntype", Promise)
|
|
215
|
+
], LoginController.prototype, "whoami", null);
|
|
200
216
|
exports.LoginController = LoginController = __decorate([
|
|
201
217
|
(0, http_1.BasePath)('auth')
|
|
202
218
|
], LoginController);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8DAAuD;AACvD,wCAA4G;AAC5G,wCAAiF;AACjF,oCAAyC;AACzC,0DAAkF;AAElF,
|
|
1
|
+
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { UserLoginDto } from '../dto/userLogin-dto.js';
|
|
|
2
2
|
import { BaseController, Ok, Unauthorized } from '@spinajs/http';
|
|
3
3
|
import { AuthProvider, SessionProvider } from '@spinajs/rbac';
|
|
4
4
|
import { Configuration } from '@spinajs/configuration';
|
|
5
|
+
import { User } from '@spinajs/rbac';
|
|
5
6
|
export declare class LoginController extends BaseController {
|
|
6
7
|
protected Configuration: Configuration;
|
|
7
8
|
protected AuthProvider: AuthProvider;
|
|
@@ -9,5 +10,6 @@ export declare class LoginController extends BaseController {
|
|
|
9
10
|
protected SessionExpirationTime: number;
|
|
10
11
|
login(credentials: UserLoginDto): Promise<Ok | Unauthorized>;
|
|
11
12
|
logout(ssid: string): Promise<Ok>;
|
|
13
|
+
whoami(User: User): Promise<Ok>;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=LoginController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAEjF,OAAO,EAA6B,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginController.d.ts","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAwB,EAAE,EAAe,YAAY,EAAU,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAEjF,OAAO,EAA6B,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,qBACa,eAAgB,SAAQ,cAAc;IAEjD,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAGvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAK3C,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAI3B,KAAK,CAAS,WAAW,EAAE,YAAY;IAwJvC,MAAM,CAAW,IAAI,EAAE,MAAM;IAwB7B,MAAM,CAAiB,IAAI,EAAE,IAAI;CA0F/C"}
|
|
@@ -15,7 +15,8 @@ import { BaseController, BasePath, Post, Body, Ok, Get, Cookie, Unauthorized, Po
|
|
|
15
15
|
import { AuthProvider, SessionProvider, auth, UserSession } from '@spinajs/rbac';
|
|
16
16
|
import { Autoinject } from '@spinajs/di';
|
|
17
17
|
import { AutoinjectService, Config, Configuration } from '@spinajs/configuration';
|
|
18
|
-
import { LoggedPolicy, NotLoggedPolicy } from '@spinajs/rbac-http';
|
|
18
|
+
import { LoggedPolicy, NotLoggedPolicy, User as UserRouteArg } from '@spinajs/rbac-http';
|
|
19
|
+
import { User } from '@spinajs/rbac';
|
|
19
20
|
let LoginController = class LoginController extends BaseController {
|
|
20
21
|
async login(credentials) {
|
|
21
22
|
try {
|
|
@@ -25,6 +26,8 @@ let LoginController = class LoginController extends BaseController {
|
|
|
25
26
|
session.Data.set('User', dUser);
|
|
26
27
|
// TEMP
|
|
27
28
|
session.Data.set('Authorized', true);
|
|
29
|
+
// set expiration time ( default val in config )
|
|
30
|
+
session.extend();
|
|
28
31
|
await this.SessionProvider.save(session);
|
|
29
32
|
this._log.trace('User logged in', user);
|
|
30
33
|
return new Ok(user, {
|
|
@@ -35,7 +38,8 @@ let LoginController = class LoginController extends BaseController {
|
|
|
35
38
|
Options: {
|
|
36
39
|
signed: true,
|
|
37
40
|
httpOnly: true,
|
|
38
|
-
|
|
41
|
+
// set expiration time in ms
|
|
42
|
+
maxAge: this.SessionExpirationTime * 1000,
|
|
39
43
|
},
|
|
40
44
|
},
|
|
41
45
|
],
|
|
@@ -158,6 +162,10 @@ let LoginController = class LoginController extends BaseController {
|
|
|
158
162
|
],
|
|
159
163
|
});
|
|
160
164
|
}
|
|
165
|
+
async whoami(User) {
|
|
166
|
+
// user is taken from session data
|
|
167
|
+
return new Ok(User);
|
|
168
|
+
}
|
|
161
169
|
};
|
|
162
170
|
__decorate([
|
|
163
171
|
Autoinject(),
|
|
@@ -193,6 +201,14 @@ __decorate([
|
|
|
193
201
|
__metadata("design:paramtypes", [String]),
|
|
194
202
|
__metadata("design:returntype", Promise)
|
|
195
203
|
], LoginController.prototype, "logout", null);
|
|
204
|
+
__decorate([
|
|
205
|
+
Get(),
|
|
206
|
+
Policy(LoggedPolicy),
|
|
207
|
+
__param(0, UserRouteArg()),
|
|
208
|
+
__metadata("design:type", Function),
|
|
209
|
+
__metadata("design:paramtypes", [User]),
|
|
210
|
+
__metadata("design:returntype", Promise)
|
|
211
|
+
], LoginController.prototype, "whoami", null);
|
|
196
212
|
LoginController = __decorate([
|
|
197
213
|
BasePath('auth')
|
|
198
214
|
], LoginController);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../../src/controllers/LoginController.ts"],"names":[],"mappings":"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"}
|