alp-node-auth 8.0.0 → 9.0.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/CHANGELOG.md +18 -0
- package/dist/definitions/MongoUsersManager.d.ts +2 -2
- package/dist/definitions/MongoUsersManager.d.ts.map +1 -1
- package/dist/definitions/authApolloContext.d.ts +2 -2
- package/dist/definitions/authApolloContext.d.ts.map +1 -1
- package/dist/definitions/authSocketIO.d.ts +2 -2
- package/dist/definitions/authSocketIO.d.ts.map +1 -1
- package/dist/definitions/createAuthController.d.ts +2 -2
- package/dist/definitions/createAuthController.d.ts.map +1 -1
- package/dist/definitions/index.d.ts +3 -2
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/definitions/services/authentification/AuthenticationService.d.ts +5 -11
- package/dist/definitions/services/authentification/AuthenticationService.d.ts.map +1 -1
- package/dist/definitions/services/authentification/types.d.ts +2 -2
- package/dist/definitions/services/authentification/types.d.ts.map +1 -1
- package/dist/definitions/services/user/UserAccountSlackService.d.ts.map +1 -1
- package/dist/definitions/services/user/UserAccountsService.d.ts +2 -2
- package/dist/definitions/services/user/UserAccountsService.d.ts.map +1 -1
- package/dist/definitions/services/user/types.d.ts +2 -2
- package/dist/definitions/services/user/types.d.ts.map +1 -1
- package/dist/definitions/types.d.ts +42 -0
- package/dist/definitions/types.d.ts.map +1 -0
- package/dist/definitions/utils/cookies.d.ts +1 -1
- package/dist/definitions/utils/cookies.d.ts.map +1 -1
- package/dist/definitions/utils/createFindLoggedInUser.d.ts +2 -2
- package/dist/definitions/utils/createFindLoggedInUser.d.ts.map +1 -1
- package/dist/{index-node16.mjs → index-node18.mjs} +35 -20
- package/dist/index-node18.mjs.map +1 -0
- package/package.json +67 -30
- package/src/MongoUsersManager.ts +3 -2
- package/src/authApolloContext.ts +2 -2
- package/src/authSocketIO.ts +1 -1
- package/src/createAuthController.ts +6 -5
- package/src/index.ts +6 -4
- package/src/services/authentification/AuthenticationService.ts +23 -26
- package/src/services/authentification/types.ts +2 -2
- package/src/services/user/UserAccountGoogleService.ts +1 -1
- package/src/services/user/UserAccountSlackService.ts +2 -8
- package/src/services/user/UserAccountsService.ts +10 -5
- package/src/services/user/types.ts +2 -2
- package/{types.d.ts → src/types.ts} +2 -3
- package/src/utils/cookies.ts +1 -1
- package/src/utils/createFindLoggedInUser.ts +6 -6
- package/src/utils/generators.ts +2 -2
- package/strategies/dropbox.js +22 -12
- package/strategies/facebook.js +22 -12
- package/strategies/foursquare.js +22 -12
- package/strategies/github.js +22 -12
- package/strategies/google.js +23 -12
- package/strategies/slack.js +22 -12
- package/strategies/strategies.d.ts +9 -4
- package/dist/index-node16.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,24 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [9.0.0](https://github.com/christophehurpeau/alp/compare/alp-node-auth@8.0.0...alp-node-auth@9.0.0) (2023-07-29)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### ⚠ BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* drop node 16
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* update simple-oauth2 ([1160431](https://github.com/christophehurpeau/alp/commit/1160431fbdc942b786323e34830d66deb741eb21))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Code Refactoring
|
|
19
|
+
|
|
20
|
+
* update to node 18 ([26280d6](https://github.com/christophehurpeau/alp/commit/26280d638aba1bd46fa42ad5a571b9626f1fff6d))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
6
24
|
## [8.0.0](https://github.com/christophehurpeau/alp/compare/alp-node-auth@7.2.2...alp-node-auth@8.0.0) (2023-03-19)
|
|
7
25
|
|
|
8
26
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MongoInsertType, MongoStore } from 'liwi-mongo';
|
|
2
|
-
import type { User, Account, UserSanitized } from '
|
|
2
|
+
import type { User, Account, UserSanitized } from './types';
|
|
3
3
|
export default class MongoUsersManager<U extends User = User, USanitized extends UserSanitized = UserSanitized> {
|
|
4
4
|
store: MongoStore<U>;
|
|
5
5
|
constructor(store: MongoStore<U>);
|
|
@@ -10,7 +10,7 @@ export default class MongoUsersManager<U extends User = User, USanitized extends
|
|
|
10
10
|
replaceOne(user: U): Promise<any>;
|
|
11
11
|
sanitize(user: U): USanitized;
|
|
12
12
|
findOneByAccountOrEmails({ accountId, emails, provider, }: {
|
|
13
|
-
accountId:
|
|
13
|
+
accountId: number | string;
|
|
14
14
|
emails?: string[];
|
|
15
15
|
provider: string;
|
|
16
16
|
}): Promise<U | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MongoUsersManager.d.ts","sourceRoot":"","sources":["../../src/MongoUsersManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAU,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MongoUsersManager.d.ts","sourceRoot":"","sources":["../../src/MongoUsersManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAU,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,iBAAiB,CACpC,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,aAAa,GAAG,aAAa;IAEhD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBAET,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAIhC,uCAAuC;IACvC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhD,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjD,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU;IAI7B,wBAAwB,CAAC,EACvB,SAAS,EACT,MAAM,EACN,QAAQ,GACT,EAAE;QACD,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAqB1B,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAcpD,gBAAgB,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa;CAmBzC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NodeConfig } from 'alp-types';
|
|
2
|
-
import type { User } from '../types.d';
|
|
3
2
|
import type MongoUsersManager from './MongoUsersManager';
|
|
4
|
-
|
|
3
|
+
import type { User } from './types';
|
|
4
|
+
export declare const createAuthApolloContext: <U extends User = User>(config: NodeConfig, usersManager: MongoUsersManager<U, import("./types").UserSanitized>) => any;
|
|
5
5
|
//# sourceMappingURL=authApolloContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authApolloContext.d.ts","sourceRoot":"","sources":["../../src/authApolloContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"authApolloContext.d.ts","sourceRoot":"","sources":["../../src/authApolloContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAiBpC,eAAO,MAAM,uBAAuB,kCAC1B,UAAU,0EAEjB,GA2BF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NodeApplication } from 'alp-types';
|
|
2
|
-
import type { User } from '../types.d';
|
|
3
2
|
import type MongoUsersManager from './MongoUsersManager';
|
|
4
|
-
|
|
3
|
+
import type { User } from './types';
|
|
4
|
+
export declare const authSocketIO: <U extends User = User>(app: NodeApplication, usersManager: MongoUsersManager<U, import("./types").UserSanitized>, io: any, jwtAudience?: string) => void;
|
|
5
5
|
//# sourceMappingURL=authSocketIO.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authSocketIO.d.ts","sourceRoot":"","sources":["../../src/authSocketIO.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"authSocketIO.d.ts","sourceRoot":"","sources":["../../src/authSocketIO.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAMpC,eAAO,MAAM,YAAY,+BAClB,eAAe,2EAGhB,GAAG,gBACO,MAAM,KACnB,IAgCF,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="koa" />
|
|
2
2
|
import type { Context } from 'alp-node';
|
|
3
3
|
import 'alp-router';
|
|
4
|
-
import type { User, UserSanitized } from '../types.d';
|
|
5
4
|
import type MongoUsersManager from './MongoUsersManager';
|
|
6
5
|
import type { AuthenticationService, AccessResponseHooks } from './services/authentification/AuthenticationService';
|
|
7
6
|
import type { AllowedStrategyKeys, AllowedMapParamsStrategy } from './services/authentification/types';
|
|
7
|
+
import type { User, UserSanitized } from './types';
|
|
8
8
|
export interface CreateAuthControllerParams<StrategyKeys extends AllowedStrategyKeys, U extends User = User, USanitized extends UserSanitized = UserSanitized> {
|
|
9
9
|
authenticationService: AuthenticationService<StrategyKeys, U, UserSanitized>;
|
|
10
10
|
homeRouterKey?: string;
|
|
@@ -22,7 +22,7 @@ type OptionalRecord<K extends keyof any, T> = {
|
|
|
22
22
|
[P in K]?: T;
|
|
23
23
|
};
|
|
24
24
|
export interface AuthHooks<StrategyKeys extends AllowedStrategyKeys> extends AccessResponseHooks<StrategyKeys> {
|
|
25
|
-
paramsForLogin?: <StrategyKey extends StrategyKeys>(strategy: StrategyKey, ctx: Context) =>
|
|
25
|
+
paramsForLogin?: <StrategyKey extends StrategyKeys>(strategy: StrategyKey, ctx: Context) => OptionalRecord<AllowedMapParamsStrategy[StrategyKey], any> | Promise<OptionalRecord<AllowedMapParamsStrategy[StrategyKey], any>> | Promise<void> | void;
|
|
26
26
|
}
|
|
27
27
|
export declare function createAuthController<StrategyKeys extends AllowedStrategyKeys, U extends User = User, USanitized extends UserSanitized = UserSanitized>({ usersManager, authenticationService, homeRouterKey, defaultStrategy, authHooks, }: CreateAuthControllerParams<StrategyKeys, U, USanitized>): AuthController;
|
|
28
28
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAuthController.d.ts","sourceRoot":"","sources":["../../src/createAuthController.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createAuthController.d.ts","sourceRoot":"","sources":["../../src/createAuthController.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,0BAA0B,CACzC,YAAY,SAAS,mBAAmB,EACxC,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,aAAa,GAAG,aAAa;IAEhD,qBAAqB,EAAE,qBAAqB,CAAC,YAAY,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,IAAI;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;CAAE,CAAC;AAE/D,MAAM,WAAW,SAAS,CAAC,YAAY,SAAS,mBAAmB,CACjE,SAAQ,mBAAmB,CAAC,YAAY,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,WAAW,SAAS,YAAY,EAChD,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,OAAO,KAEV,cAAc,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,GAC1D,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,GAEb,IAAI,CAAC;CACV;AAED,wBAAgB,oBAAoB,CAClC,YAAY,SAAS,mBAAmB,EACxC,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,aAAa,GAAG,aAAa,EAChD,EACA,YAAY,EACZ,qBAAqB,EACrB,aAAmB,EACnB,eAAe,EACf,SAAc,GACf,EAAE,0BAA0B,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,cAAc,CAsD1E"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import type { IncomingMessage } from 'http';
|
|
1
|
+
import type { IncomingMessage } from 'node:http';
|
|
2
2
|
import type { Context } from 'alp-node';
|
|
3
3
|
import type { NodeApplication } from 'alp-types';
|
|
4
|
-
import type { User, UserSanitized } from '../types.d';
|
|
5
4
|
import type MongoUsersManager from './MongoUsersManager';
|
|
6
5
|
import type { AuthController as AuthControllerType, AuthHooks } from './createAuthController';
|
|
7
6
|
import type { AuthRoutes as AuthRoutesType } from './createRoutes';
|
|
8
7
|
import type { Strategies } from './services/authentification/AuthenticationService';
|
|
9
8
|
import type { AllowedStrategyKeys } from './services/authentification/types';
|
|
10
9
|
import type { AccountService } from './services/user/types';
|
|
10
|
+
import type { User, UserSanitized } from './types';
|
|
11
11
|
export { default as MongoUsersManager } from './MongoUsersManager';
|
|
12
12
|
export { default as UserAccountGoogleService } from './services/user/UserAccountGoogleService';
|
|
13
13
|
export { default as UserAccountSlackService } from './services/user/UserAccountSlackService';
|
|
14
14
|
export { authSocketIO } from './authSocketIO';
|
|
15
15
|
export { createAuthApolloContext } from './authApolloContext';
|
|
16
16
|
export { STATUSES } from './services/user/UserAccountsService';
|
|
17
|
+
export * from './types';
|
|
17
18
|
declare module 'alp-types' {
|
|
18
19
|
interface ContextState {
|
|
19
20
|
loggedInUserId: NonNullable<ContextState['loggedInUser']>['_id'] | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
2
|
+
import { EventEmitter } from 'node:events';
|
|
3
3
|
import 'alp-router';
|
|
4
4
|
import type { Context, NodeConfig } from 'alp-types';
|
|
5
|
-
import type {
|
|
6
|
-
import type { AccountId, User, Account, UserSanitized } from '
|
|
5
|
+
import type { Strategy as Oauth2Strategy } from '../../../strategies/strategies.d';
|
|
6
|
+
import type { AccountId, User, Account, UserSanitized } from '../../types';
|
|
7
7
|
import type UserAccountsService from '../user/UserAccountsService';
|
|
8
8
|
import type { AllowedStrategyKeys, Tokens } from './types';
|
|
9
9
|
export interface GenerateAuthUrlOptions {
|
|
@@ -20,16 +20,10 @@ export interface GetTokensOptions {
|
|
|
20
20
|
code: string;
|
|
21
21
|
redirectUri: string;
|
|
22
22
|
}
|
|
23
|
-
export interface Strategy {
|
|
24
|
-
type: string;
|
|
25
|
-
}
|
|
26
|
-
export interface Oauth2Strategy<Params extends string> extends Strategy {
|
|
27
|
-
oauth2: OAuthClient<Params>;
|
|
28
|
-
}
|
|
29
23
|
export type Strategies<StrategyKeys extends AllowedStrategyKeys> = Record<StrategyKeys, Oauth2Strategy<any>>;
|
|
30
24
|
export interface AccessResponseHooks<StrategyKeys, U extends User = User> {
|
|
31
|
-
afterLoginSuccess?: <StrategyKey extends StrategyKeys>(strategy: StrategyKey, loggedInUser: U) => void |
|
|
32
|
-
afterScopeUpdate?: <StrategyKey extends StrategyKeys>(strategy: StrategyKey, scopeKey: string, account: Account, user: U) => void |
|
|
25
|
+
afterLoginSuccess?: <StrategyKey extends StrategyKeys>(strategy: StrategyKey, loggedInUser: U) => Promise<void> | void;
|
|
26
|
+
afterScopeUpdate?: <StrategyKey extends StrategyKeys>(strategy: StrategyKey, scopeKey: string, account: Account, user: U) => Promise<void> | void;
|
|
33
27
|
}
|
|
34
28
|
export declare class AuthenticationService<StrategyKeys extends AllowedStrategyKeys, U extends User = User, USanitized extends UserSanitized = UserSanitized> extends EventEmitter {
|
|
35
29
|
config: NodeConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../../src/services/authentification/AuthenticationService.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../../src/services/authentification/AuthenticationService.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAI3D,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,CAAC,YAAY,SAAS,mBAAmB,IAAI,MAAM,CACvE,YAAY,EACZ,cAAc,CAAC,GAAG,CAAC,CACpB,CAAC;AAEF,MAAM,WAAW,mBAAmB,CAAC,YAAY,EAAE,CAAC,SAAS,IAAI,GAAG,IAAI;IACtE,iBAAiB,CAAC,EAAE,CAAC,WAAW,SAAS,YAAY,EACnD,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAE,CAAC,KACZ,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE1B,gBAAgB,CAAC,EAAE,CAAC,WAAW,SAAS,YAAY,EAClD,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,CAAC,KACJ,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B;AAED,qBAAa,qBAAqB,CAChC,YAAY,SAAS,mBAAmB,EACxC,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,aAAa,GAAG,aAAa,CAEhD,SAAQ,YAAY;IACpB,MAAM,EAAE,UAAU,CAAC;IAEnB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAErC,mBAAmB,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBAGpE,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,mBAAmB,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC;IAQvE,eAAe,CAAC,CAAC,SAAS,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM;IAWnE,SAAS,CACb,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC;IAmCZ,YAAY,CAChB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,MAAM,CAAC;IAgClB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS7C,eAAe,CACnB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,YAAY,EACtB,EACE,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,SAAS,GACV,EAAE;QACD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,EACD,MAAM,CAAC,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,CAAC;IAuCV,cAAc,CAAC,WAAW,SAAS,YAAY,EACnD,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,WAAW,EACrB,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC;IAgEb,oBAAoB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAsBlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/authentification/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/authentification/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAccountSlackService.d.ts","sourceRoot":"","sources":["../../../../src/services/user/UserAccountSlackService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxD,MAAM,CAAC,OAAO,OAAO,uBAAuB,CAAC,SAAS,SAAS,OAAO,CACpE,YAAW,cAAc,CAAC,SAAS,CAAC;IAEpC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAE/B,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAOxE,WAAW,SAAY;IAEvB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAMxC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"UserAccountSlackService.d.ts","sourceRoot":"","sources":["../../../../src/services/user/UserAccountSlackService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxD,MAAM,CAAC,OAAO,OAAO,uBAAuB,CAAC,SAAS,SAAS,OAAO,CACpE,YAAW,cAAc,CAAC,SAAS,CAAC;IAEpC,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAE/B,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAOxE,WAAW,SAAY;IAEvB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAMxC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI;IASlC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvD,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE;IAIjC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAIvD,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,GAAG,IAAI;IAI1C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAI3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;CAOrE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
3
|
-
import type { AccountId, User, Account, UserSanitized } from '../../../types.d';
|
|
2
|
+
import { EventEmitter } from 'node:events';
|
|
4
3
|
import type MongoUsersManager from '../../MongoUsersManager';
|
|
4
|
+
import type { AccountId, User, Account, UserSanitized } from '../../types';
|
|
5
5
|
import type { AllowedStrategyKeys } from '../authentification/types';
|
|
6
6
|
import type { AccountService, TokensObject } from './types';
|
|
7
7
|
export declare const STATUSES: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAccountsService.d.ts","sourceRoot":"","sources":["../../../../src/services/user/UserAccountsService.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"UserAccountsService.d.ts","sourceRoot":"","sources":["../../../../src/services/user/UserAccountsService.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5D,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,mBAAmB,CACtC,YAAY,SAAS,mBAAmB,EACxC,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,aAAa,GAAG,aAAa,CAEhD,SAAQ,YAAY;IACpB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4C;IAE9E,YAAY,EAAE,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAG7C,YAAY,EAAE,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,EAC9C,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAO9D,QAAQ,CACN,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,CAAC,EACR,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM;IAsBH,MAAM,CACV,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IA+BjD,wBAAwB,CAC5B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;IA2FP,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAI3D"}
|
|
@@ -6,8 +6,8 @@ export interface TokensObject {
|
|
|
6
6
|
accessToken: string;
|
|
7
7
|
refreshToken?: string;
|
|
8
8
|
tokenType: string;
|
|
9
|
-
expiresIn:
|
|
10
|
-
expireDate: Date;
|
|
9
|
+
expiresIn: number;
|
|
10
|
+
expireDate: Date | null;
|
|
11
11
|
idToken: string;
|
|
12
12
|
}
|
|
13
13
|
export interface AccountService<ScopeKeys extends 'login'> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/user/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/user/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,SAAS,SAAS,OAAO;IACvD,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,EAAE,CAAC;IACtC,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC;IAC/C,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAChD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAC1E"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { MongoBaseModel } from 'liwi-mongo';
|
|
2
|
+
export interface UserName {
|
|
3
|
+
familyName: string;
|
|
4
|
+
givenName: string;
|
|
5
|
+
}
|
|
6
|
+
export type AccountId = string;
|
|
7
|
+
export interface Account {
|
|
8
|
+
accessToken: string;
|
|
9
|
+
accountId: AccountId;
|
|
10
|
+
name?: string | null;
|
|
11
|
+
profile?: any;
|
|
12
|
+
provider: string;
|
|
13
|
+
refreshToken?: string;
|
|
14
|
+
scope: string[];
|
|
15
|
+
subservices?: string[];
|
|
16
|
+
status: string;
|
|
17
|
+
tokenExpireDate: Date | null;
|
|
18
|
+
}
|
|
19
|
+
export interface User extends MongoBaseModel {
|
|
20
|
+
accounts: Account[];
|
|
21
|
+
displayName: string;
|
|
22
|
+
emailDomains: string[];
|
|
23
|
+
emails: string[];
|
|
24
|
+
fullName: UserName;
|
|
25
|
+
status: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AccountSanitized {
|
|
28
|
+
accountId: string;
|
|
29
|
+
name?: string | null;
|
|
30
|
+
provider: string;
|
|
31
|
+
status: string;
|
|
32
|
+
profile?: any;
|
|
33
|
+
}
|
|
34
|
+
export interface UserSanitized extends MongoBaseModel {
|
|
35
|
+
accounts: AccountSanitized[];
|
|
36
|
+
displayName: string;
|
|
37
|
+
emailDomains: string[];
|
|
38
|
+
emails: string[];
|
|
39
|
+
fullName: UserName;
|
|
40
|
+
status: string;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,IAAK,SAAQ,cAAc;IAC1C,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../src/utils/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../src/utils/cookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,eAAO,MAAM,mBAAmB,QACzB,eAAe,YACV,KAAK,MAAM,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,CAAC,CAAC,KACtD,MAAM,GAAG,SAYX,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Logger } from 'nightingale-logger';
|
|
2
|
-
import type { User, UserSanitized } from '../../types';
|
|
3
2
|
import type MongoUsersManager from '../MongoUsersManager';
|
|
4
|
-
|
|
3
|
+
import type { User, UserSanitized } from '../types';
|
|
4
|
+
export type FindLoggedInUser<U extends User> = (jwtAudience?: string, token?: string) => Promise<[U['_id'] | null | undefined, U | null | undefined]>;
|
|
5
5
|
export declare const createFindLoggedInUser: <U extends User, USanitized extends UserSanitized>(secretKey: string, usersManager: MongoUsersManager<U, USanitized>, logger: Logger) => FindLoggedInUser<U>;
|
|
6
6
|
//# sourceMappingURL=createFindLoggedInUser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFindLoggedInUser.d.ts","sourceRoot":"","sources":["../../../src/utils/createFindLoggedInUser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createFindLoggedInUser.d.ts","sourceRoot":"","sources":["../../../src/utils/createFindLoggedInUser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA0BpD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,IAAI,IAAI,CAC7C,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB,gEAItB,MAAM,0DAET,MAAM,wBAwBf,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { promisify } from 'util';
|
|
1
|
+
import { promisify } from 'node:util';
|
|
2
2
|
import jsonwebtoken from 'jsonwebtoken';
|
|
3
3
|
import { Logger } from 'nightingale-logger';
|
|
4
4
|
import 'alp-router';
|
|
5
|
-
import { EventEmitter } from 'events';
|
|
6
|
-
import { randomBytes } from 'crypto';
|
|
5
|
+
import { EventEmitter } from 'node:events';
|
|
6
|
+
import { randomBytes } from 'node:crypto';
|
|
7
7
|
import Cookies from 'cookies';
|
|
8
|
-
import { fetch } from 'alp-node';
|
|
9
8
|
|
|
10
9
|
function createAuthController({
|
|
11
10
|
usersManager,
|
|
@@ -72,6 +71,9 @@ async function randomHex(size) {
|
|
|
72
71
|
}
|
|
73
72
|
|
|
74
73
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
74
|
+
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
75
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
76
|
+
/* eslint-disable camelcase, max-lines */
|
|
75
77
|
const logger$4 = new Logger('alp:auth:authentication');
|
|
76
78
|
class AuthenticationService extends EventEmitter {
|
|
77
79
|
constructor(config, strategies, userAccountsService) {
|
|
@@ -107,17 +109,19 @@ class AuthenticationService extends EventEmitter {
|
|
|
107
109
|
redirect_uri: options.redirectUri
|
|
108
110
|
});
|
|
109
111
|
if (!result) return result;
|
|
112
|
+
const tokens = result.token;
|
|
110
113
|
return {
|
|
111
|
-
accessToken:
|
|
112
|
-
refreshToken:
|
|
113
|
-
tokenType:
|
|
114
|
-
expiresIn:
|
|
114
|
+
accessToken: tokens.access_token,
|
|
115
|
+
refreshToken: tokens.refresh_token,
|
|
116
|
+
tokenType: tokens.token_type,
|
|
117
|
+
expiresIn: tokens.expires_in,
|
|
115
118
|
expireDate: (() => {
|
|
119
|
+
if (tokens.expires_in == null) return null;
|
|
116
120
|
const d = new Date();
|
|
117
|
-
d.setTime(d.getTime() +
|
|
121
|
+
d.setTime(d.getTime() + tokens.expires_in * 1000);
|
|
118
122
|
return d;
|
|
119
123
|
})(),
|
|
120
|
-
idToken:
|
|
124
|
+
idToken: tokens.id_token
|
|
121
125
|
};
|
|
122
126
|
// return strategyInstance.accessToken.create(result);
|
|
123
127
|
}
|
|
@@ -137,7 +141,7 @@ class AuthenticationService extends EventEmitter {
|
|
|
137
141
|
switch (strategyInstance.type) {
|
|
138
142
|
case 'oauth2':
|
|
139
143
|
{
|
|
140
|
-
const token = strategyInstance.oauth2.
|
|
144
|
+
const token = strategyInstance.oauth2.clientCredentials.createToken({
|
|
141
145
|
refresh_token: tokensParam.refreshToken
|
|
142
146
|
});
|
|
143
147
|
const result = await token.refresh();
|
|
@@ -147,6 +151,7 @@ class AuthenticationService extends EventEmitter {
|
|
|
147
151
|
tokenType: tokens.token_type,
|
|
148
152
|
expiresIn: tokens.expires_in,
|
|
149
153
|
expireDate: (() => {
|
|
154
|
+
if (tokens.expires_in == null) return null;
|
|
150
155
|
const d = new Date();
|
|
151
156
|
d.setTime(d.getTime() + tokens.expires_in * 1000);
|
|
152
157
|
return d;
|
|
@@ -216,7 +221,7 @@ class AuthenticationService extends EventEmitter {
|
|
|
216
221
|
throw new Error('No cookie for this state');
|
|
217
222
|
}
|
|
218
223
|
cookie = JSON.parse(cookie);
|
|
219
|
-
if (!cookie
|
|
224
|
+
if (!cookie?.scope) {
|
|
220
225
|
throw new Error('Unexpected cookie value');
|
|
221
226
|
}
|
|
222
227
|
if (!cookie.isLoginAccess) {
|
|
@@ -310,7 +315,7 @@ class UserAccountsService extends EventEmitter {
|
|
|
310
315
|
if (tokens.refreshToken) {
|
|
311
316
|
account.refreshToken = tokens.refreshToken;
|
|
312
317
|
}
|
|
313
|
-
if (tokens.expireDate) {
|
|
318
|
+
if (tokens.expireDate !== undefined) {
|
|
314
319
|
account.tokenExpireDate = tokens.expireDate;
|
|
315
320
|
}
|
|
316
321
|
account.scope = service.getScope(account.scope, scope);
|
|
@@ -337,9 +342,11 @@ class UserAccountsService extends EventEmitter {
|
|
|
337
342
|
emails
|
|
338
343
|
});
|
|
339
344
|
logger$3.info(!user ? 'create user' : 'existing user', {
|
|
340
|
-
|
|
341
|
-
|
|
345
|
+
userId: user?._id,
|
|
346
|
+
accountId
|
|
347
|
+
/*emails , user*/
|
|
342
348
|
});
|
|
349
|
+
|
|
343
350
|
if (!user) {
|
|
344
351
|
user = {};
|
|
345
352
|
}
|
|
@@ -365,7 +372,7 @@ class UserAccountsService extends EventEmitter {
|
|
|
365
372
|
if (tokens.refreshToken) {
|
|
366
373
|
account.refreshToken = tokens.refreshToken;
|
|
367
374
|
}
|
|
368
|
-
if (tokens.expireDate) {
|
|
375
|
+
if (tokens.expireDate !== undefined) {
|
|
369
376
|
account.tokenExpireDate = tokens.expireDate;
|
|
370
377
|
}
|
|
371
378
|
account.scope = service.getScope(account.scope, scope);
|
|
@@ -427,9 +434,9 @@ const createFindLoggedInUser = (secretKey, usersManager, logger) => {
|
|
|
427
434
|
let loggedInUserId;
|
|
428
435
|
try {
|
|
429
436
|
loggedInUserId = await decodeJwt(token, jwtAudience);
|
|
430
|
-
} catch (
|
|
437
|
+
} catch (error) {
|
|
431
438
|
logger.debug('failed to verify authentification', {
|
|
432
|
-
err
|
|
439
|
+
err: error
|
|
433
440
|
});
|
|
434
441
|
}
|
|
435
442
|
if (loggedInUserId == null) return [null, null];
|
|
@@ -493,6 +500,8 @@ class MongoUsersManager {
|
|
|
493
500
|
}
|
|
494
501
|
});
|
|
495
502
|
}
|
|
503
|
+
|
|
504
|
+
// eslint-disable-next-line @typescript-eslint/class-methods-use-this
|
|
496
505
|
sanitizeBaseUser(user) {
|
|
497
506
|
return {
|
|
498
507
|
_id: user._id,
|
|
@@ -514,7 +523,10 @@ class MongoUsersManager {
|
|
|
514
523
|
}
|
|
515
524
|
}
|
|
516
525
|
|
|
526
|
+
/* eslint-disable @typescript-eslint/class-methods-use-this */
|
|
517
527
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
528
|
+
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
529
|
+
|
|
518
530
|
class UserAccountGoogleService {
|
|
519
531
|
constructor(scopeKeyToScope) {
|
|
520
532
|
this.scopeKeyToScope = {
|
|
@@ -556,7 +568,9 @@ class UserAccountGoogleService {
|
|
|
556
568
|
}
|
|
557
569
|
}
|
|
558
570
|
|
|
571
|
+
/* eslint-disable @typescript-eslint/class-methods-use-this */
|
|
559
572
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
573
|
+
|
|
560
574
|
// https://api.slack.com/methods/users.identity
|
|
561
575
|
|
|
562
576
|
class UserAccountSlackService {
|
|
@@ -571,7 +585,7 @@ class UserAccountSlackService {
|
|
|
571
585
|
return fetch(`https://slack.com/api/users.identity?token=${tokens.accessToken}`).then(response => response.json());
|
|
572
586
|
}
|
|
573
587
|
getId(profile) {
|
|
574
|
-
if (!profile
|
|
588
|
+
if (!profile?.team?.id || !profile.user?.id) {
|
|
575
589
|
return null;
|
|
576
590
|
}
|
|
577
591
|
return `team:${profile.team.id};user:${profile.user.id}`;
|
|
@@ -655,6 +669,7 @@ const createAuthApolloContext = (config, usersManager) => {
|
|
|
655
669
|
};
|
|
656
670
|
|
|
657
671
|
/* eslint-disable max-lines */
|
|
672
|
+
|
|
658
673
|
const logger = new Logger('alp:auth');
|
|
659
674
|
const signPromisified = promisify(jsonwebtoken.sign);
|
|
660
675
|
function init({
|
|
@@ -765,4 +780,4 @@ function init({
|
|
|
765
780
|
}
|
|
766
781
|
|
|
767
782
|
export { AuthenticationService, MongoUsersManager, STATUSES, UserAccountGoogleService, UserAccountSlackService, authSocketIO, createAuthApolloContext, init as default };
|
|
768
|
-
//# sourceMappingURL=index-
|
|
783
|
+
//# sourceMappingURL=index-node18.mjs.map
|