@social.dev/server-sdk 0.0.1-alpha.3 → 0.0.1-alpha.31
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 +7 -65
- package/dist/app.module.js +2 -0
- package/dist/app.module.js.map +1 -1
- package/dist/auth/auth.controller.d.ts +2 -0
- package/dist/auth/auth.controller.js +26 -0
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.module.js +2 -0
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/auth.service.d.ts +4 -8
- package/dist/auth/auth.service.js +6 -18
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/dto/login-success.dto.d.ts +1 -1
- package/dist/auth/dto/login-success.dto.js +3 -3
- package/dist/auth/dto/login-success.dto.js.map +1 -1
- package/dist/auth/enums/auth-method.enum.d.ts +2 -2
- package/dist/auth/enums/auth-method.enum.js +2 -2
- package/dist/auth/enums/auth-method.enum.js.map +1 -1
- package/dist/auth/oidc/dto/requests.d.ts +6 -0
- package/dist/auth/oidc/dto/requests.js +47 -0
- package/dist/auth/oidc/dto/requests.js.map +1 -0
- package/dist/auth/oidc/dto/responses.js +1 -1
- package/dist/auth/oidc/dto/responses.js.map +1 -1
- package/dist/auth/oidc/oidc.controller.d.ts +6 -2
- package/dist/auth/oidc/oidc.controller.js +25 -17
- package/dist/auth/oidc/oidc.controller.js.map +1 -1
- package/dist/auth/oidc/oidc.module.js +2 -0
- package/dist/auth/oidc/oidc.module.js.map +1 -1
- package/dist/auth/oidc/oidc.service.d.ts +13 -7
- package/dist/auth/oidc/oidc.service.js +38 -30
- package/dist/auth/oidc/oidc.service.js.map +1 -1
- package/dist/auth/session/session.controller.js +3 -3
- package/dist/auth/session/session.controller.js.map +1 -1
- package/dist/auth/session/session.service.d.ts +2 -2
- package/dist/auth/session/session.service.js +4 -4
- package/dist/auth/session/session.service.js.map +1 -1
- package/dist/bootstrap.d.ts +2 -1
- package/dist/bootstrap.js +3 -1
- package/dist/bootstrap.js.map +1 -1
- package/dist/chat/chat.controller.d.ts +1 -2
- package/dist/chat/chat.controller.js +8 -4
- package/dist/chat/chat.controller.js.map +1 -1
- package/dist/chat/chat.module.js +2 -0
- package/dist/chat/chat.module.js.map +1 -1
- package/dist/chat/chat.service.d.ts +6 -2
- package/dist/chat/chat.service.js +38 -7
- package/dist/chat/chat.service.js.map +1 -1
- package/dist/common/dto/paginated-response.dto.d.ts +2 -0
- package/dist/common/dto/paginated-response.dto.js +14 -3
- package/dist/common/dto/paginated-response.dto.js.map +1 -1
- package/dist/common/injection-tokens.d.ts +2 -0
- package/dist/common/injection-tokens.js +6 -0
- package/dist/common/injection-tokens.js.map +1 -0
- package/dist/community/community.controller.d.ts +1 -2
- package/dist/community/community.controller.js +9 -5
- package/dist/community/community.controller.js.map +1 -1
- package/dist/community/community.module.js +1 -0
- package/dist/community/community.module.js.map +1 -1
- package/dist/community/community.service.d.ts +10 -3
- package/dist/community/community.service.js +30 -12
- package/dist/community/community.service.js.map +1 -1
- package/dist/configs/configs.module.js +3 -0
- package/dist/configs/configs.module.js.map +1 -1
- package/dist/configs/configs.service.d.ts +20 -0
- package/dist/configs/configs.service.js +14 -1
- package/dist/configs/configs.service.js.map +1 -1
- package/dist/core/context/context.store.d.ts +1 -0
- package/dist/core/hook/hook.module.d.ts +4 -0
- package/dist/core/hook/hook.module.js +30 -0
- package/dist/core/hook/hook.module.js.map +1 -0
- package/dist/core/hook/hook.service.d.ts +7 -0
- package/dist/core/{plugin/plugin-hook.service.js → hook/hook.service.js} +10 -10
- package/dist/core/hook/hook.service.js.map +1 -0
- package/dist/core/plugin/plugin.module.js +7 -5
- package/dist/core/plugin/plugin.module.js.map +1 -1
- package/dist/db.js +1 -1
- package/dist/db.js.map +1 -1
- package/dist/file-storage/file-storage.service.d.ts +1 -1
- package/dist/file-storage/file-storage.service.js +6 -6
- package/dist/file-storage/file-storage.service.js.map +1 -1
- package/dist/file-storage/utils.js +1 -1
- package/dist/file-storage/utils.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/media/entities/media.entity.js +1 -1
- package/dist/media/entities/media.entity.js.map +1 -1
- package/dist/media/media.acl.d.ts +2 -4
- package/dist/media/media.acl.js +3 -0
- package/dist/media/media.acl.js.map +1 -1
- package/dist/media/media.service.js +15 -12
- package/dist/media/media.service.js.map +1 -1
- package/dist/{1756201302119-migrations.d.ts → migrations/1757061785934-PushNotificationTokens.d.ts} +1 -1
- package/dist/migrations/1757061785934-PushNotificationTokens.js +20 -0
- package/dist/migrations/1757061785934-PushNotificationTokens.js.map +1 -0
- package/dist/network/network.middleware.js +6 -2
- package/dist/network/network.middleware.js.map +1 -1
- package/dist/network/network.module.js +2 -1
- package/dist/network/network.module.js.map +1 -1
- package/dist/network/network.service.d.ts +5 -2
- package/dist/network/network.service.js +23 -6
- package/dist/network/network.service.js.map +1 -1
- package/dist/notification/dto/delete-push-token.dto.d.ts +3 -0
- package/dist/{common/entities/base.repository.js → notification/dto/delete-push-token.dto.js} +14 -20
- package/dist/notification/dto/delete-push-token.dto.js.map +1 -0
- package/dist/notification/dto/register-push-token.dto.d.ts +5 -0
- package/dist/notification/dto/register-push-token.dto.js +38 -0
- package/dist/notification/dto/register-push-token.dto.js.map +1 -0
- package/dist/notification/entities/push-token.entity.d.ts +11 -0
- package/dist/notification/entities/push-token.entity.js +60 -0
- package/dist/notification/entities/push-token.entity.js.map +1 -0
- package/dist/notification/enums/push-service.enum.d.ts +6 -0
- package/dist/notification/enums/push-service.enum.js +11 -0
- package/dist/notification/enums/push-service.enum.js.map +1 -0
- package/dist/notification/hook-listener.service.d.ts +13 -0
- package/dist/notification/hook-listener.service.js +58 -0
- package/dist/notification/hook-listener.service.js.map +1 -0
- package/dist/notification/notification.module.d.ts +2 -0
- package/dist/notification/notification.module.js +34 -0
- package/dist/notification/notification.module.js.map +1 -0
- package/dist/notification/push-notification.controller.d.ts +9 -0
- package/dist/notification/push-notification.controller.js +69 -0
- package/dist/notification/push-notification.controller.js.map +1 -0
- package/dist/notification/push-notification.service.d.ts +22 -0
- package/dist/notification/push-notification.service.js +84 -0
- package/dist/notification/push-notification.service.js.map +1 -0
- package/dist/post/post.controller.d.ts +3 -2
- package/dist/post/post.controller.js +28 -8
- package/dist/post/post.controller.js.map +1 -1
- package/dist/post/post.module.js +2 -0
- package/dist/post/post.module.js.map +1 -1
- package/dist/post/post.service.d.ts +7 -3
- package/dist/post/post.service.js +18 -8
- package/dist/post/post.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/user/constants.d.ts +1 -0
- package/dist/user/constants.js +5 -0
- package/dist/user/constants.js.map +1 -0
- package/dist/user/user.controller.d.ts +4 -2
- package/dist/user/user.controller.js +21 -8
- package/dist/user/user.controller.js.map +1 -1
- package/dist/user/user.module.js +2 -0
- package/dist/user/user.module.js.map +1 -1
- package/dist/user/user.service.d.ts +3 -1
- package/dist/user/user.service.js +12 -3
- package/dist/user/user.service.js.map +1 -1
- package/package.json +1 -1
- package/dist/1756201302119-migrations.js +0 -84
- package/dist/1756201302119-migrations.js.map +0 -1
- package/dist/auth/enums/auth-methods.enum.d.ts +0 -2
- package/dist/auth/enums/auth-methods.enum.js +0 -7
- package/dist/auth/enums/auth-methods.enum.js.map +0 -1
- package/dist/auth/session/auth.controller.d.ts +0 -10
- package/dist/auth/session/auth.controller.js +0 -92
- package/dist/auth/session/auth.controller.js.map +0 -1
- package/dist/auth/session/auth.service.d.ts +0 -12
- package/dist/auth/session/auth.service.js +0 -46
- package/dist/auth/session/auth.service.js.map +0 -1
- package/dist/common/entities/base.repository.d.ts +0 -7
- package/dist/common/entities/base.repository.js.map +0 -1
- package/dist/core/plugin/plugin-hook.service.d.ts +0 -7
- package/dist/core/plugin/plugin-hook.service.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,73 +1,15 @@
|
|
|
1
1
|
## Social.Dev server
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Generating migrations
|
|
4
4
|
|
|
5
|
-
```
|
|
6
|
-
|
|
5
|
+
```sh
|
|
6
|
+
typeorm migration:generate -d ./dist/db.js src/migrations --dryrun
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Running migrations
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
# development
|
|
13
|
-
$ npm run start
|
|
11
|
+
From your server implementation
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
# production mode
|
|
19
|
-
$ npm run start:prod
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Run tests
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
# unit tests
|
|
26
|
-
$ npm run test
|
|
27
|
-
|
|
28
|
-
# e2e tests
|
|
29
|
-
$ npm run test:e2e
|
|
30
|
-
|
|
31
|
-
# test coverage
|
|
32
|
-
$ npm run test:cov
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Deployment
|
|
36
|
-
|
|
37
|
-
When you're ready to deploy your NestJS application to production, there are some key steps you can take to ensure it runs as efficiently as possible. Check out the [deployment documentation](https://docs.nestjs.com/deployment) for more information.
|
|
38
|
-
|
|
39
|
-
If you are looking for a cloud-based platform to deploy your NestJS application, check out [Mau](https://mau.nestjs.com), our official platform for deploying NestJS applications on AWS. Mau makes deployment straightforward and fast, requiring just a few simple steps:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
$ npm install -g @nestjs/mau
|
|
43
|
-
$ mau deploy
|
|
13
|
+
```sh
|
|
14
|
+
typeorm migration:run -d node_modules/@social.dev/server-sdk/dist/db.js
|
|
44
15
|
```
|
|
45
|
-
|
|
46
|
-
With Mau, you can deploy your application in just a few clicks, allowing you to focus on building features rather than managing infrastructure.
|
|
47
|
-
|
|
48
|
-
## Resources
|
|
49
|
-
|
|
50
|
-
Check out a few resources that may come in handy when working with NestJS:
|
|
51
|
-
|
|
52
|
-
- Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework.
|
|
53
|
-
- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
|
|
54
|
-
- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
|
|
55
|
-
- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
|
|
56
|
-
- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
|
|
57
|
-
- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
|
|
58
|
-
- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
|
|
59
|
-
- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).
|
|
60
|
-
|
|
61
|
-
## Support
|
|
62
|
-
|
|
63
|
-
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
|
|
64
|
-
|
|
65
|
-
## Stay in touch
|
|
66
|
-
|
|
67
|
-
- Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
|
|
68
|
-
- Website - [https://nestjs.com](https://nestjs.com/)
|
|
69
|
-
- Twitter - [@nestframework](https://twitter.com/nestframework)
|
|
70
|
-
|
|
71
|
-
## License
|
|
72
|
-
|
|
73
|
-
Nest is [MIT licensed](https://github.com/nestjs/nest/blob/master/LICENSE).
|
package/dist/app.module.js
CHANGED
|
@@ -33,6 +33,7 @@ const core_module_1 = require("./core/core.module");
|
|
|
33
33
|
const context_module_1 = require("./core/context/context.module");
|
|
34
34
|
const typeorm_2 = require("typeorm");
|
|
35
35
|
const db_1 = __importDefault(require("./db"));
|
|
36
|
+
const notification_module_1 = require("./notification/notification.module");
|
|
36
37
|
let AppModule = class AppModule {
|
|
37
38
|
contextService;
|
|
38
39
|
dataSource;
|
|
@@ -67,6 +68,7 @@ exports.AppModule = AppModule = __decorate([
|
|
|
67
68
|
post_module_1.PostModule,
|
|
68
69
|
media_module_1.MediaModule,
|
|
69
70
|
chat_module_1.ChatModule,
|
|
71
|
+
notification_module_1.NotificationModule,
|
|
70
72
|
],
|
|
71
73
|
providers: [
|
|
72
74
|
{
|
package/dist/app.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,6CAAgD;AAChD,2CAA8C;AAC9C,oDAAgD;AAEhD,6DAAyD;AAEzD,mEAA+D;AAC/D,oDAAgD;AAEhD,uCAA0D;AAC1D,oDAAgD;AAChD,4DAAwD;AACxD,6DAAyD;AACzD,qEAAwE;AACxE,uDAAmD;AACnD,oDAAiD;AACjD,oEAAgE;AAChE,oDAAgD;AAChD,oDAAgD;AAChD,kEAA8D;AAC9D,qCAAqC;AACrC,8CAAmC;
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,6CAAgD;AAChD,2CAA8C;AAC9C,oDAAgD;AAEhD,6DAAyD;AAEzD,mEAA+D;AAC/D,oDAAgD;AAEhD,uCAA0D;AAC1D,oDAAgD;AAChD,4DAAwD;AACxD,6DAAyD;AACzD,qEAAwE;AACxE,uDAAmD;AACnD,oDAAiD;AACjD,oEAAgE;AAChE,oDAAgD;AAChD,oDAAgD;AAChD,kEAA8D;AAC9D,qCAAqC;AACrC,8CAAmC;AACnC,4EAAwE;AAkCjE,IAAM,SAAS,GAAf,MAAM,SAAS;IAED;IACA;IAFnB,YACmB,cAA8B,EAC9B,UAAsB;QADtB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEJ,YAAY;QAEV,iBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,6CAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxD,QAAQ,CAAC,KAAK,CAAC,gCAAc,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAfY,8BAAS;oBAAT,SAAS;IAhCrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,8BAAa;YACb,qBAAY,CAAC,OAAO,CAAC;gBACnB,WAAW,EAAE,YAAY;gBACzB,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,uBAAa,CAAC,OAAO,CAAC,YAAe,CAAC,OAAO,CAAC;YAC9C,wBAAU;YACV,wBAAU;YACV,8BAAa;YACb,kCAAe;YACf,wBAAU;YACV,8BAAa;YACb,wBAAU;YACV,0BAAW;YACX,wBAAU;YACV,wCAAkB;SACnB;QACD,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,sBAAe;gBACxB,MAAM,EAAE,CAAC,gBAAS,CAAC;gBACnB,UAAU,EAAE,CAAC,SAAoB,EAAE,EAAE;oBACnC,OAAO,IAAI,mCAA0B,CAAC,SAAS,EAAE;wBAC/C,wBAAwB,EAAE,IAAI;wBAC9B,uBAAuB,EAAE,IAAI;qBAC9B,CAAC,CAAC;gBACL,CAAC;aACF;SACF;KACF,CAAC;qCAGmC,gCAAc;QAClB,oBAAU;GAH9B,SAAS,CAerB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AuthService } from './auth.service';
|
|
2
|
+
import { AuthMethodEnum } from './enums/auth-method.enum';
|
|
2
3
|
export declare class AuthController {
|
|
3
4
|
private authService;
|
|
4
5
|
constructor(authService: AuthService);
|
|
6
|
+
listAuthMethod(): AuthMethodEnum[];
|
|
5
7
|
getProfile(req: any): any;
|
|
6
8
|
}
|
|
@@ -17,16 +17,41 @@ const openapi = require("@nestjs/swagger");
|
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const auth_service_1 = require("./auth.service");
|
|
19
19
|
const auth_guard_1 = require("./auth.guard");
|
|
20
|
+
const auth_method_enum_1 = require("./enums/auth-method.enum");
|
|
21
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
20
22
|
let AuthController = class AuthController {
|
|
21
23
|
authService;
|
|
22
24
|
constructor(authService) {
|
|
23
25
|
this.authService = authService;
|
|
24
26
|
}
|
|
27
|
+
listAuthMethod() {
|
|
28
|
+
return this.authService.getAuthMethods();
|
|
29
|
+
}
|
|
25
30
|
getProfile(req) {
|
|
26
31
|
return req.user;
|
|
27
32
|
}
|
|
28
33
|
};
|
|
29
34
|
exports.AuthController = AuthController;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, common_1.Get)('auth.method.list'),
|
|
37
|
+
(0, swagger_1.ApiOperation)({ summary: 'List available authentication methods' }),
|
|
38
|
+
(0, swagger_1.ApiResponse)({
|
|
39
|
+
status: 200,
|
|
40
|
+
description: 'List of available authentication methods',
|
|
41
|
+
schema: {
|
|
42
|
+
type: 'array',
|
|
43
|
+
items: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
enum: Object.values(auth_method_enum_1.AuthMethodEnum),
|
|
46
|
+
},
|
|
47
|
+
example: [auth_method_enum_1.AuthMethodEnum.Password, auth_method_enum_1.AuthMethodEnum.Oidc],
|
|
48
|
+
},
|
|
49
|
+
}),
|
|
50
|
+
openapi.ApiResponse({ status: 200 }),
|
|
51
|
+
__metadata("design:type", Function),
|
|
52
|
+
__metadata("design:paramtypes", []),
|
|
53
|
+
__metadata("design:returntype", Array)
|
|
54
|
+
], AuthController.prototype, "listAuthMethod", null);
|
|
30
55
|
__decorate([
|
|
31
56
|
(0, common_1.UseGuards)(auth_guard_1.AuthGuard),
|
|
32
57
|
(0, common_1.Get)('auth.profile.info'),
|
|
@@ -37,6 +62,7 @@ __decorate([
|
|
|
37
62
|
__metadata("design:returntype", void 0)
|
|
38
63
|
], AuthController.prototype, "getProfile", null);
|
|
39
64
|
exports.AuthController = AuthController = __decorate([
|
|
65
|
+
(0, swagger_1.ApiTags)('Auth'),
|
|
40
66
|
(0, common_1.Controller)(),
|
|
41
67
|
__metadata("design:paramtypes", [auth_service_1.AuthService])
|
|
42
68
|
], AuthController);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,iDAA6C;AAC7C,6CAAyC;
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,iDAA6C;AAC7C,6CAAyC;AACzC,+DAA0D;AAC1D,6CAAqE;AAI9D,IAAM,cAAc,GAApB,MAAM,cAAc;IACL;IAApB,YAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAgBhD,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAID,UAAU,CAAY,GAAG;QACvB,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;CACF,CAAA;AA1BY,wCAAc;AAiBzB;IAdC,IAAA,YAAG,EAAC,kBAAkB,CAAC;IACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IAClE,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iCAAc,CAAC;aACpC;YACD,OAAO,EAAE,CAAC,iCAAc,CAAC,QAAQ,EAAE,iCAAc,CAAC,IAAI,CAAC;SACxD;KACF,CAAC;;;;;oDAGD;AAID;IAFC,IAAA,kBAAS,EAAC,sBAAS,CAAC;IACpB,IAAA,YAAG,EAAC,mBAAmB,CAAC;;IACb,WAAA,IAAA,gBAAO,GAAE,CAAA;;;;gDAEpB;yBAzBU,cAAc;IAF1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,mBAAU,GAAE;qCAEsB,0BAAW;GADjC,cAAc,CA0B1B"}
|
package/dist/auth/auth.module.js
CHANGED
|
@@ -14,6 +14,7 @@ const user_module_1 = require("../user/user.module");
|
|
|
14
14
|
const jwt_1 = require("@nestjs/jwt");
|
|
15
15
|
const constants_1 = require("./constants");
|
|
16
16
|
const oidc_module_1 = require("./oidc/oidc.module");
|
|
17
|
+
const configs_module_1 = require("../configs/configs.module");
|
|
17
18
|
let AuthModule = class AuthModule {
|
|
18
19
|
};
|
|
19
20
|
exports.AuthModule = AuthModule;
|
|
@@ -26,6 +27,7 @@ exports.AuthModule = AuthModule = __decorate([
|
|
|
26
27
|
secret: constants_1.jwtConstants.secret,
|
|
27
28
|
signOptions: { expiresIn: '30d' },
|
|
28
29
|
}),
|
|
30
|
+
configs_module_1.ConfigsModule,
|
|
29
31
|
oidc_module_1.OidcModule,
|
|
30
32
|
],
|
|
31
33
|
controllers: [auth_controller_1.AuthController],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmD;AACnD,iDAA6C;AAC7C,qDAAgD;AAChD,qCAAwC;AACxC,2CAA2C;AAC3C,oDAAgD;
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmD;AACnD,iDAA6C;AAC7C,qDAAgD;AAChD,qCAAwC;AACxC,2CAA2C;AAC3C,oDAAgD;AAChD,8DAAyD;AAgBlD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAdtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,eAAS,CAAC,QAAQ,CAAC;gBACjB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,wBAAY,CAAC,MAAM;gBAC3B,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;aAClC,CAAC;YACF,8BAAa;YACb,wBAAU;SACX;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;KACzB,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { UserService } from '../user/user.service';
|
|
2
|
-
import { JwtService } from '@nestjs/jwt';
|
|
3
1
|
import { AuthMethodEnum } from './enums/auth-method.enum';
|
|
2
|
+
import { ConfigsService } from '~/configs/configs.service';
|
|
4
3
|
export declare class AuthService {
|
|
5
|
-
private
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
getAuthMethods(): {
|
|
9
|
-
method: AuthMethodEnum;
|
|
10
|
-
}[];
|
|
4
|
+
private configs;
|
|
5
|
+
constructor(configs: ConfigsService);
|
|
6
|
+
getAuthMethods(): AuthMethodEnum[];
|
|
11
7
|
}
|
|
@@ -11,31 +11,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AuthService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const
|
|
15
|
-
const jwt_1 = require("@nestjs/jwt");
|
|
16
|
-
const auth_method_enum_1 = require("./enums/auth-method.enum");
|
|
14
|
+
const configs_service_1 = require("../configs/configs.service");
|
|
17
15
|
let AuthService = class AuthService {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.userService = userService;
|
|
22
|
-
this.jwtService = jwtService;
|
|
16
|
+
configs;
|
|
17
|
+
constructor(configs) {
|
|
18
|
+
this.configs = configs;
|
|
23
19
|
}
|
|
24
20
|
getAuthMethods() {
|
|
25
|
-
return [
|
|
26
|
-
{
|
|
27
|
-
method: auth_method_enum_1.AuthMethodEnum.Password,
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
method: auth_method_enum_1.AuthMethodEnum.Oidc,
|
|
31
|
-
},
|
|
32
|
-
];
|
|
21
|
+
return this.configs.get('auth')?.methods || [];
|
|
33
22
|
}
|
|
34
23
|
};
|
|
35
24
|
exports.AuthService = AuthService;
|
|
36
25
|
exports.AuthService = AuthService = __decorate([
|
|
37
26
|
(0, common_1.Injectable)(),
|
|
38
|
-
__metadata("design:paramtypes", [
|
|
39
|
-
jwt_1.JwtService])
|
|
27
|
+
__metadata("design:paramtypes", [configs_service_1.ConfigsService])
|
|
40
28
|
], AuthService);
|
|
41
29
|
//# sourceMappingURL=auth.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AAKnE,gEAA2D;AAGpD,IAAM,WAAW,GAAjB,MAAM,WAAW;IACF;IAApB,YAAoB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAK/C,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IACjD,CAAC;CACF,CAAA;AATY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAEkB,gCAAc;GADhC,WAAW,CASvB"}
|
|
@@ -14,17 +14,17 @@ const openapi = require("@nestjs/swagger");
|
|
|
14
14
|
const swagger_1 = require("@nestjs/swagger");
|
|
15
15
|
const user_response_dto_1 = require("../../user/dto/user-response.dto");
|
|
16
16
|
class LoginSuccessResponseDto {
|
|
17
|
-
|
|
17
|
+
authToken;
|
|
18
18
|
user;
|
|
19
19
|
static _OPENAPI_METADATA_FACTORY() {
|
|
20
|
-
return {
|
|
20
|
+
return { authToken: { required: true, type: () => String }, user: { required: true, type: () => require("../../user/dto/user-response.dto").UserResponseDto } };
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
exports.LoginSuccessResponseDto = LoginSuccessResponseDto;
|
|
24
24
|
__decorate([
|
|
25
25
|
(0, swagger_1.ApiProperty)({ description: 'The session token' }),
|
|
26
26
|
__metadata("design:type", String)
|
|
27
|
-
], LoginSuccessResponseDto.prototype, "
|
|
27
|
+
], LoginSuccessResponseDto.prototype, "authToken", void 0);
|
|
28
28
|
__decorate([
|
|
29
29
|
(0, swagger_1.ApiProperty)({
|
|
30
30
|
description: 'User information',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-success.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/login-success.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAC9C,wEAA+D;AAG/D,MAAa,uBAAuB;IAElC,
|
|
1
|
+
{"version":3,"file":"login-success.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/login-success.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAC9C,wEAA+D;AAG/D,MAAa,uBAAuB;IAElC,SAAS,CAAS;IAWlB,IAAI,CAAkB;;;;CACvB;AAdD,0DAcC;AAZC;IADC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;;0DAChC;AAWlB;IATC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE;YACP,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,CAAC;SACX;KACF,CAAC;8BACI,mCAAe;qDAAC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AuthMethodEnum = void 0;
|
|
4
4
|
var AuthMethodEnum;
|
|
5
5
|
(function (AuthMethodEnum) {
|
|
6
|
-
AuthMethodEnum[
|
|
7
|
-
AuthMethodEnum[
|
|
6
|
+
AuthMethodEnum["Password"] = "PASSWORD";
|
|
7
|
+
AuthMethodEnum["Oidc"] = "OIDC";
|
|
8
8
|
})(AuthMethodEnum || (exports.AuthMethodEnum = AuthMethodEnum = {}));
|
|
9
9
|
//# sourceMappingURL=auth-method.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-method.enum.js","sourceRoot":"","sources":["../../../src/auth/enums/auth-method.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAKX;AALD,WAAY,cAAc;IAExB,
|
|
1
|
+
{"version":3,"file":"auth-method.enum.js","sourceRoot":"","sources":["../../../src/auth/enums/auth-method.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAKX;AALD,WAAY,cAAc;IAExB,uCAAqB,CAAA;IAErB,+BAAa,CAAA;AACf,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.OidcExchangeCodeDto = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
class OidcExchangeCodeDto {
|
|
15
|
+
code;
|
|
16
|
+
provider;
|
|
17
|
+
redirectUri;
|
|
18
|
+
codeVerifier;
|
|
19
|
+
}
|
|
20
|
+
exports.OidcExchangeCodeDto = OidcExchangeCodeDto;
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, swagger_1.ApiProperty)({
|
|
23
|
+
description: 'Authorization code, obtained from the authorization flow',
|
|
24
|
+
}),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], OidcExchangeCodeDto.prototype, "code", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiProperty)({
|
|
29
|
+
description: 'OIDC provider ID, relevant to the code that was obtained',
|
|
30
|
+
}),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], OidcExchangeCodeDto.prototype, "provider", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, swagger_1.ApiProperty)({
|
|
35
|
+
description: 'Redirect Uri that was used to obtain the authorization code',
|
|
36
|
+
required: false,
|
|
37
|
+
}),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], OidcExchangeCodeDto.prototype, "redirectUri", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, swagger_1.ApiProperty)({
|
|
42
|
+
description: 'The same code_verifier that was used to obtain the authorization code. Required if PKCE was used in the authorization code grant request',
|
|
43
|
+
required: false,
|
|
44
|
+
}),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], OidcExchangeCodeDto.prototype, "codeVerifier", void 0);
|
|
47
|
+
//# sourceMappingURL=requests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../../src/auth/oidc/dto/requests.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,mBAAmB;IAI9B,IAAI,CAAS;IAKb,QAAQ,CAAS;IAMjB,WAAW,CAAS;IAOpB,YAAY,CAAS;CACtB;AAvBD,kDAuBC;AAnBC;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0DAA0D;KACxE,CAAC;;iDACW;AAKb;IAHC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0DAA0D;KACxE,CAAC;;qDACe;AAMjB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,6DAA6D;QAC1E,QAAQ,EAAE,KAAK;KAChB,CAAC;;wDACkB;AAOpB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EACT,0IAA0I;QAC5I,QAAQ,EAAE,KAAK;KAChB,CAAC;;yDACmB"}
|
|
@@ -37,7 +37,7 @@ __decorate([
|
|
|
37
37
|
description: 'Url to redirect the user to in order to start the OIDC flow',
|
|
38
38
|
}),
|
|
39
39
|
(0, class_transformer_1.Transform)(({ obj }) => {
|
|
40
|
-
const baseUrl = context_1.Context.getNetwork().getBaseUrl() + 'api/auth.oidc.
|
|
40
|
+
const baseUrl = context_1.Context.getNetwork().getBaseUrl() + 'api/auth.oidc.authorize';
|
|
41
41
|
return baseUrl + '?id=' + obj.id;
|
|
42
42
|
}),
|
|
43
43
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../../src/auth/oidc/dto/responses.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAsD;AACtD,2DAAiD;AAEjD,MAAa,uBAAuB;IAGlC,EAAE,CAAS;IAMX,IAAI,CAAS;
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../../src/auth/oidc/dto/responses.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAsD;AACtD,2DAAiD;AAEjD,MAAa,uBAAuB;IAGlC,EAAE,CAAS;IAMX,IAAI,CAAS;IAYb,QAAQ,CAAS;CAClB;AAtBD,0DAsBC;AAnBC;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;;mDAC3C;AAMX;IAJC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,4DAA4D;KAC1E,CAAC;;qDACW;AAYb;IAVC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,6DAA6D;KAC3E,CAAC;IACD,IAAA,6BAAS,EAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QACrB,MAAM,OAAO,GACX,iBAAO,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,GAAG,yBAAyB,CAAC;QAEhE,OAAO,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;IACnC,CAAC,CAAC;;yDACe"}
|
|
@@ -2,11 +2,15 @@ import { Response } from 'express';
|
|
|
2
2
|
import { OidcService } from './oidc.service';
|
|
3
3
|
import { OidcProviderResponseDto } from './dto/responses';
|
|
4
4
|
import { SessionService } from '../session/session.service';
|
|
5
|
+
import { OidcExchangeCodeDto } from './dto/requests';
|
|
5
6
|
export declare class OidcController {
|
|
6
7
|
private service;
|
|
7
8
|
private sessions;
|
|
8
9
|
constructor(service: OidcService, sessions: SessionService);
|
|
9
10
|
listOidcProviders(): OidcProviderResponseDto[];
|
|
10
|
-
login(id: string, res: Response): Promise<void>;
|
|
11
|
-
|
|
11
|
+
login(id: string, params: Record<string, string>, res: Response): Promise<void>;
|
|
12
|
+
exchangeCode(dto: OidcExchangeCodeDto, res: Response): Promise<{
|
|
13
|
+
authToken: string;
|
|
14
|
+
user: import("../../user/entities/user.entity").User;
|
|
15
|
+
}>;
|
|
12
16
|
}
|
|
@@ -20,6 +20,7 @@ const oidc_service_1 = require("./oidc.service");
|
|
|
20
20
|
const class_transformer_1 = require("class-transformer");
|
|
21
21
|
const responses_1 = require("./dto/responses");
|
|
22
22
|
const session_service_1 = require("../session/session.service");
|
|
23
|
+
const requests_1 = require("./dto/requests");
|
|
23
24
|
let OidcController = class OidcController {
|
|
24
25
|
service;
|
|
25
26
|
sessions;
|
|
@@ -32,16 +33,21 @@ let OidcController = class OidcController {
|
|
|
32
33
|
.getProviders()
|
|
33
34
|
.map((p) => (0, class_transformer_1.plainToInstance)(responses_1.OidcProviderResponseDto, p));
|
|
34
35
|
}
|
|
35
|
-
async login(id, res) {
|
|
36
|
+
async login(id, params, res) {
|
|
36
37
|
const provider = this.service.getProviders()[0];
|
|
37
|
-
const url = await this.service.getAuthorizationUrl(provider, 'todo');
|
|
38
|
+
const url = await this.service.getAuthorizationUrl(provider, 'todo', params);
|
|
38
39
|
res.redirect(302, url);
|
|
39
40
|
}
|
|
40
|
-
async
|
|
41
|
+
async exchangeCode(dto, res) {
|
|
41
42
|
const provider = this.service.getProviders()[0];
|
|
42
|
-
const {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const { authToken, user } = await this.service.processAuthorizationCode({
|
|
44
|
+
provider,
|
|
45
|
+
code: dto.code,
|
|
46
|
+
redirectUri: dto.redirectUri,
|
|
47
|
+
codeVerifier: dto.codeVerifier,
|
|
48
|
+
});
|
|
49
|
+
this.sessions.setSessionCookie(authToken, res);
|
|
50
|
+
return { authToken, user };
|
|
45
51
|
}
|
|
46
52
|
};
|
|
47
53
|
exports.OidcController = OidcController;
|
|
@@ -58,30 +64,32 @@ __decorate([
|
|
|
58
64
|
], OidcController.prototype, "listOidcProviders", null);
|
|
59
65
|
__decorate([
|
|
60
66
|
(0, swagger_1.ApiOperation)({
|
|
61
|
-
summary: 'Initiates an oidc
|
|
67
|
+
summary: 'Initiates an oidc authorization flow',
|
|
62
68
|
description: `This OIDC API method kicks off the login flow for a given provider.`,
|
|
63
69
|
}),
|
|
64
|
-
(0, common_1.Get)('auth.oidc.
|
|
70
|
+
(0, common_1.Get)('auth.oidc.authorize'),
|
|
65
71
|
openapi.ApiResponse({ status: 200 }),
|
|
66
72
|
__param(0, (0, common_1.Query)('id')),
|
|
67
|
-
__param(1, (0, common_1.
|
|
73
|
+
__param(1, (0, common_1.Query)()),
|
|
74
|
+
__param(2, (0, common_1.Res)()),
|
|
68
75
|
__metadata("design:type", Function),
|
|
69
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
76
|
+
__metadata("design:paramtypes", [String, Object, Object]),
|
|
70
77
|
__metadata("design:returntype", Promise)
|
|
71
78
|
], OidcController.prototype, "login", null);
|
|
72
79
|
__decorate([
|
|
73
80
|
(0, swagger_1.ApiOperation)({
|
|
74
|
-
summary: '
|
|
75
|
-
description: `This OIDC API method is to be used
|
|
81
|
+
summary: 'Exchange an OIDC Authorization Code for a Social.Dev session',
|
|
82
|
+
description: `This OIDC API method is to be used to exchange and OAuth2 Authorization Code, obtained from the OIDC authorization flow,
|
|
83
|
+
for a Social.Dev session.`,
|
|
76
84
|
}),
|
|
77
|
-
(0, common_1.
|
|
78
|
-
openapi.ApiResponse({ status:
|
|
79
|
-
__param(0, (0, common_1.
|
|
85
|
+
(0, common_1.Post)('auth.oidc.exchangeCode'),
|
|
86
|
+
openapi.ApiResponse({ status: 201 }),
|
|
87
|
+
__param(0, (0, common_1.Body)()),
|
|
80
88
|
__param(1, (0, common_1.Res)({ passthrough: true })),
|
|
81
89
|
__metadata("design:type", Function),
|
|
82
|
-
__metadata("design:paramtypes", [
|
|
90
|
+
__metadata("design:paramtypes", [requests_1.OidcExchangeCodeDto, Object]),
|
|
83
91
|
__metadata("design:returntype", Promise)
|
|
84
|
-
], OidcController.prototype, "
|
|
92
|
+
], OidcController.prototype, "exchangeCode", null);
|
|
85
93
|
exports.OidcController = OidcController = __decorate([
|
|
86
94
|
(0, common_1.Controller)(),
|
|
87
95
|
(0, swagger_1.ApiTags)('Auth'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.controller.js","sourceRoot":"","sources":["../../../src/auth/oidc/oidc.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"oidc.controller.js","sourceRoot":"","sources":["../../../src/auth/oidc/oidc.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyE;AACzE,6CAAwD;AAExD,iDAA6C;AAC7C,yDAAqE;AACrE,+CAA0D;AAC1D,gEAA4D;AAE5D,6CAAqD;AAI9C,IAAM,cAAc,GAApB,MAAM,cAAc;IAEf;IACA;IAFV,YACU,OAAoB,EACpB,QAAwB;QADxB,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAgB;IAC/B,CAAC;IAOJ,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO;aAChB,YAAY,EAAE;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAe,EAAC,mCAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAOK,AAAN,KAAK,CAAC,KAAK,CACI,EAAU,EACd,MAA8B,EAChC,GAAa;QAGpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAChD,QAAQ,EACR,MAAM,EACN,MAAM,CACP,CAAC;QAEF,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IAQK,AAAN,KAAK,CAAC,YAAY,CACR,GAAwB,EACJ,GAAa;QAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACtE,QAAQ;YACR,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE/C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF,CAAA;AA5DY,wCAAc;AAWzB;IALC,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,qCAAqC;QAC9C,WAAW,EAAE,kFAAkF;KAChG,CAAC;IACD,IAAA,YAAG,EAAC,0BAA0B,CAAC;;;;;uDAK/B;AAOK;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,sCAAsC;QAC/C,WAAW,EAAE,qEAAqE;KACnF,CAAC;IACD,IAAA,YAAG,EAAC,qBAAqB,CAAC;;IAExB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAA,cAAK,GAAE,CAAA;IACP,WAAA,IAAA,YAAG,GAAE,CAAA;;;;2CAWP;AAQK;IANL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,8DAA8D;QACvE,WAAW,EAAE;8BACa;KAC3B,CAAC;IACD,IAAA,aAAI,EAAC,wBAAwB,CAAC;;IAE5B,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;;qCADd,8BAAmB;;kDAcjC;yBA3DU,cAAc;IAF1B,IAAA,mBAAU,GAAE;IACZ,IAAA,iBAAO,EAAC,MAAM,CAAC;qCAGK,0BAAW;QACV,gCAAc;GAHvB,cAAc,CA4D1B"}
|
|
@@ -15,6 +15,7 @@ const user_module_1 = require("../../user/user.module");
|
|
|
15
15
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
16
16
|
const oidc_user_entity_1 = require("./entities/oidc-user.entity");
|
|
17
17
|
const session_module_1 = require("../session/session.module");
|
|
18
|
+
const configs_module_1 = require("../../configs/configs.module");
|
|
18
19
|
let OidcModule = class OidcModule {
|
|
19
20
|
};
|
|
20
21
|
exports.OidcModule = OidcModule;
|
|
@@ -25,6 +26,7 @@ exports.OidcModule = OidcModule = __decorate([
|
|
|
25
26
|
axios_1.HttpModule,
|
|
26
27
|
(0, common_1.forwardRef)(() => user_module_1.UserModule),
|
|
27
28
|
session_module_1.SessionModule,
|
|
29
|
+
configs_module_1.ConfigsModule,
|
|
28
30
|
],
|
|
29
31
|
providers: [oidc_service_1.OidcService],
|
|
30
32
|
controllers: [oidc_controller_1.OidcController],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.module.js","sourceRoot":"","sources":["../../../src/auth/oidc/oidc.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmD;AACnD,iDAA6C;AAC7C,yCAA2C;AAC3C,wDAAgD;AAChD,6CAAgD;AAChD,kEAAuD;AACvD,8DAA0D;
|
|
1
|
+
{"version":3,"file":"oidc.module.js","sourceRoot":"","sources":["../../../src/auth/oidc/oidc.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmD;AACnD,iDAA6C;AAC7C,yCAA2C;AAC3C,wDAAgD;AAChD,6CAAgD;AAChD,kEAAuD;AACvD,8DAA0D;AAC1D,iEAAyD;AAalD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAXtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,2BAAQ,CAAC,CAAC;YACpC,kBAAU;YACV,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,8BAAa;YACb,8BAAa;SACd;QACD,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -4,7 +4,8 @@ import { User } from '~/user/entities/user.entity';
|
|
|
4
4
|
import { DataSource, Repository } from 'typeorm';
|
|
5
5
|
import { OidcUser } from './entities/oidc-user.entity';
|
|
6
6
|
import { SessionService } from '../session/session.service';
|
|
7
|
-
|
|
7
|
+
import { ConfigsService } from '~/configs/configs.service';
|
|
8
|
+
export type OidcProvider = {
|
|
8
9
|
id: string;
|
|
9
10
|
name: string;
|
|
10
11
|
issuer: string;
|
|
@@ -17,16 +18,21 @@ export declare class OidcService {
|
|
|
17
18
|
private http;
|
|
18
19
|
private users;
|
|
19
20
|
private sessions;
|
|
20
|
-
|
|
21
|
+
private configs;
|
|
22
|
+
constructor(oidcUserRepository: Repository<OidcUser>, dataSource: DataSource, http: HttpService, users: UserService, sessions: SessionService, configs: ConfigsService);
|
|
21
23
|
getProviders(): OidcProvider[];
|
|
22
|
-
getAuthorizationUrl(provider: OidcProvider, stateToken: string): Promise<string>;
|
|
23
|
-
processAuthorizationCode(provider
|
|
24
|
-
|
|
24
|
+
getAuthorizationUrl(provider: OidcProvider, stateToken: string, extraParams?: Record<string, string>): Promise<string>;
|
|
25
|
+
processAuthorizationCode({ provider, code, redirectUri, codeVerifier, }: {
|
|
26
|
+
provider: OidcProvider;
|
|
27
|
+
code: string;
|
|
28
|
+
redirectUri?: string;
|
|
29
|
+
codeVerifier?: string;
|
|
30
|
+
}): Promise<{
|
|
31
|
+
authToken: string;
|
|
25
32
|
user: User;
|
|
26
33
|
}>;
|
|
27
|
-
getUserInfo(endpoint: string,
|
|
34
|
+
getUserInfo(endpoint: string, authToken: string): Promise<Object>;
|
|
28
35
|
getUserFromSub(provider: OidcProvider, sub: string): Promise<User | null>;
|
|
29
36
|
private getOpenIdConfiguration;
|
|
30
37
|
private getJwk;
|
|
31
38
|
}
|
|
32
|
-
export {};
|