@point3/logto-module 1.0.22 → 1.1.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.
@@ -2,26 +2,24 @@
2
2
  * Logto M2M(Machine-to-Machine) 클라이언트
3
3
  * - Logto API의 M2M 인증 및 사용자/역할 관리 기능 제공
4
4
  * - NestJS DI 시스템에 등록됨
5
- *
5
+ *
6
6
  * @author
7
7
  */
8
8
 
9
9
  import {
10
- Inject,
11
10
  Injectable,
12
11
  Global,
13
12
  LoggerService,
14
13
  } from "@nestjs/common";
15
- import { ConfigService } from "@nestjs/config";
16
14
 
17
15
  import {
18
16
  LogtoConfig,
17
+ LogtoM2MConfig,
19
18
  GrantType,
20
19
  } from "./config";
21
20
  import {
22
21
  AccessToken,
23
22
  LogtoTokenVerifier,
24
- LogtoTokenVerifierToken,
25
23
  } from "../token";
26
24
  import {
27
25
  LogtoOAuthRESTTemplate,
@@ -31,13 +29,10 @@ import {
31
29
  LogtoUser,
32
30
  LogtoUserResponse,
33
31
  VerificationMethodType,
34
- LogtoLoggerServiceToken
35
32
  } from "./types";
36
33
  import { p3Values, axiosAdapter } from "point3-common-tool";
37
34
  import {
38
35
  UserMissingRequiredFieldsError,
39
- UserNotFoundError,
40
- MultipleUsersFoundError,
41
36
  } from "../errors";
42
37
 
43
38
  // DI 토큰
@@ -75,22 +70,17 @@ export class LogtoM2MClient {
75
70
  private readonly apiRestTemplate: axiosAdapter.RESTTemplate;
76
71
 
77
72
  constructor(
78
- @Inject(ConfigService)
79
- private readonly configService: ConfigService,
80
-
81
- @Inject(LogtoTokenVerifierToken)
73
+ private readonly config: LogtoM2MConfig,
82
74
  private readonly tokenVerifier: LogtoTokenVerifier,
83
-
84
- @Inject(LogtoLoggerServiceToken)
85
75
  private readonly logger: LoggerService,
86
76
  ) {
87
- // 환경변수 기반 Logto 설정
77
+ // config 기반 Logto 설정
88
78
  this.logtoConfig = {
89
- endpoint: this.configService.get<string>('LOGTO_AUTH_ENDPOINT')!,
90
- appId: this.configService.get<string>('LOGTO_M2M_CLIENT_ID')!,
91
- appSecret: this.configService.get<string>('LOGTO_M2M_CLIENT_SECRET')!,
92
- scopes: ['all'],
93
- resources: [this.configService.get<string>('LOGTO_M2M_RESOURCE')!],
79
+ endpoint: config.endpoint,
80
+ appId: config.clientId,
81
+ appSecret: config.clientSecret,
82
+ scopes: config.scopes,
83
+ resources: [config.resource],
94
84
  grantType: GrantType.ClientCredentials,
95
85
  };
96
86
 
@@ -104,7 +94,7 @@ export class LogtoM2MClient {
104
94
  // API용 REST 템플릿 초기화
105
95
  this.apiRestTemplate = new LogtoOAuthRESTTemplate(
106
96
  this.logger,
107
- this.configService.get<string>('LOGTO_M2M_API_URL'),
97
+ config.apiUrl,
108
98
  );
109
99
  }
110
100
 
@@ -142,7 +132,7 @@ export class LogtoM2MClient {
142
132
  /**
143
133
  * PAT 토큰을 이용해 AccessToken 발급
144
134
  */
145
- public async fetchAccessTokenByPAT(pat: string): Promise<{ accessToken: string }> {
135
+ public async fetchAccessTokenByPAT(pat: string): Promise<{ accessToken: string }> {
146
136
  try {
147
137
  const parameters = new URLSearchParams();
148
138
  parameters.set("grant_type", "urn:ietf:params:oauth:grant-type:token-exchange");
@@ -151,15 +141,15 @@ export class LogtoM2MClient {
151
141
  parameters.set("subject_token", pat);
152
142
  parameters.set("subject_token_type", "urn:logto:token-type:personal_access_token");
153
143
 
154
- // check the request
144
+ // check the request
155
145
  const response = await this.authRestTemplate.post(
156
146
  `${this.logtoConfig.endpoint}/token`,
157
147
  parameters.toString(),
158
148
  {
159
149
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
160
150
  }
161
- );
162
-
151
+ );
152
+
163
153
 
164
154
  console.log(response);
165
155
  return {
@@ -266,7 +256,7 @@ export class LogtoM2MClient {
266
256
  async createUser(user: LogtoUser): Promise<string> {
267
257
  await this.getAccessToken();
268
258
 
269
- if (user.username && user.primaryEmail && user.password && user.primaryPhone && user.name) {
259
+ if (user.username && user.primaryEmail && user.password && user.name) {
270
260
  user.passwordAlgorithm = user.passwordAlgorithm ?? LogtoPasswordAlgorithm.Argon2i;
271
261
  const response = await this.apiRestTemplate.post<{ id: string }>('/users', user);
272
262
  return response.data.id;
@@ -301,40 +291,6 @@ export class LogtoM2MClient {
301
291
  return response.data;
302
292
  }
303
293
 
304
- /**
305
- * 이메일+휴대폰으로 사용자 단일 조회 (여러명/없음 예외 처리)
306
- * @param email 이메일
307
- * @param phone 휴대폰번호
308
- */
309
- async getUsersByEmailAndPhone(
310
- email: string,
311
- phone: string,
312
- ): Promise<LogtoUserResponse> {
313
- await this.getAccessToken();
314
-
315
- const params = new URLSearchParams();
316
- params.set('search.primaryEmail', email);
317
- params.set('search.primaryPhone', generatePhoneNumberWithCountryCode('82', phone));
318
- params.set('joint', 'and');
319
- params.set('mode.primaryEmail', 'exact');
320
- params.set('mode.primaryPhone', 'exact');
321
-
322
- const response = await this.apiRestTemplate.get<LogtoUserResponse[]>(
323
- `/users?${params.toString()}`,
324
- );
325
- const logtoUsers = response.data;
326
-
327
- if (logtoUsers.length === 1) {
328
- return logtoUsers[0];
329
- }
330
- if (logtoUsers.length === 0) {
331
- this.logger.error(`사용자 없음: email=${email}, phone=${phone}`, this.constructor.name);
332
- throw new UserNotFoundError(email, phone);
333
- }
334
- this.logger.error(`여러 사용자 발견: email=${email}, phone=${phone}`, this.constructor.name);
335
- this.logger.error(JSON.stringify(logtoUsers), this.constructor.name);
336
- throw new MultipleUsersFoundError(email, phone);
337
- }
338
294
 
339
295
  /**
340
296
  * username으로 사용자 단일 조회
@@ -1,7 +1,6 @@
1
- import { Inject, Injectable, Global, LoggerService } from "@nestjs/common";
1
+ import { Injectable, Global, LoggerService } from "@nestjs/common";
2
2
  import axios, { AxiosResponse } from "axios";
3
- import { GrantType, Prompt, LogtoConfig } from "./config";
4
- import { ConfigService } from "@nestjs/config";
3
+ import { GrantType, LogtoConfig, LogtoOAuthConfig } from "./config";
5
4
  import { axiosAdapter, p3Values } from "point3-common-tool";
6
5
  import {
7
6
  TokenRevocationFailedError,
@@ -48,25 +47,22 @@ export class OAuthClient {
48
47
 
49
48
  /**
50
49
  * 생성자
51
- * @param configService 환경설정 서비스
50
+ * @param config OAuth 설정
52
51
  * @param logger 로거 서비스
53
52
  */
54
53
  constructor(
55
- @Inject(ConfigService)
56
- private configService: ConfigService,
57
-
58
- @Inject(LogtoLoggerServiceToken)
59
- private logger: LoggerService
54
+ private readonly config: LogtoOAuthConfig,
55
+ private readonly logger: LoggerService
60
56
  ) {
61
57
  // Logto 설정 초기화
62
58
  this.logtoConfig = {
63
- endpoint: this.configService.get<string>("LOGTO_AUTH_ENDPOINT")!,
64
- appId: this.configService.get<string>("LOGTO_CLIENT_ID")!,
65
- appSecret: this.configService.get<string>("LOGTO_CLIENT_SECRET")!,
66
- resources: [this.configService.get<string>("LOGTO_RESOURCES")!],
67
- scopes: this.configService.get<string>("LOGTO_SCOPES")!.split(","),
68
- prompt: this.configService.get<string>("LOGTO_PROMPT")! as Prompt,
69
- redirectUri: this.configService.get<string>("LOGTO_REDIRECT_URI")!,
59
+ endpoint: config.endpoint,
60
+ appId: config.clientId,
61
+ appSecret: config.clientSecret,
62
+ resources: config.resources,
63
+ scopes: config.scopes,
64
+ prompt: config.prompt,
65
+ redirectUri: config.redirectUri,
70
66
  grantType: GrantType.AuthorizationCode,
71
67
  };
72
68
 
@@ -94,25 +90,17 @@ export class OAuthClient {
94
90
 
95
91
  // 대시보드 로그인일 경우 별도 URI, 실패시 기본 URI로 폴백
96
92
  if (signInType === SignInType.Dashboard) {
97
- try {
98
- uri = new URL(
99
- `${this.configService.get<string>(
100
- "LOGTO_DASHBOARD_SIGN_IN_URI"
101
- )}/auth`
102
- );
103
- } catch (error) {
93
+ if (this.config.dashboardSignInUri) {
94
+ uri = new URL(`${this.config.dashboardSignInUri}/auth`);
95
+ } else {
104
96
  this.logger.warn(
105
97
  "대시보드 로그인 URI 설정을 찾을 수 없어 기본 URI를 사용합니다.",
106
98
  this.constructor.name
107
99
  );
108
- uri = new URL(
109
- `${this.configService.get<string>("LOGTO_SIGN_IN_URI")}/auth`
110
- );
100
+ uri = new URL(`${this.config.signInUri}/auth`);
111
101
  }
112
102
  } else {
113
- uri = new URL(
114
- `${this.configService.get<string>("LOGTO_SIGN_IN_URI")}/auth`
115
- );
103
+ uri = new URL(`${this.config.signInUri}/auth`);
116
104
  }
117
105
 
118
106
  // 상태값 생성 (CSRF 방지)
@@ -139,9 +127,7 @@ export class OAuthClient {
139
127
  */
140
128
  public async getSignOutURI(): Promise<string> {
141
129
  try {
142
- const uri = new URL(
143
- `${this.configService.get<string>("LOGTO_SIGN_IN_URI")}/session/end`
144
- );
130
+ const uri = new URL(`${this.config.signInUri}/session/end`);
145
131
 
146
132
  // 로그아웃 후 리다이렉트 URI 및 클라이언트 ID 설정
147
133
  uri.searchParams.set("redirect_uri", this.logtoConfig.redirectUri!);
package/client/types.ts CHANGED
@@ -44,7 +44,7 @@ export enum LogtoPasswordAlgorithm {
44
44
  */
45
45
  export type LogtoUser = {
46
46
  username: string; // Guid's string value(dash to underscore)
47
- primaryPhone: string;
47
+ primaryPhone?: string;
48
48
  primaryEmail: string;
49
49
  password: string;
50
50
  passwordAlgorithm?: LogtoPasswordAlgorithm; // default: Argon2i
@@ -19,3 +19,26 @@ export declare enum GrantType {
19
19
  ClientCredentials = "client_credentials",
20
20
  RefreshToken = "refresh_token"
21
21
  }
22
+ export interface LogtoVerifierConfig {
23
+ jwksUri: string;
24
+ issuer: string;
25
+ }
26
+ export interface LogtoOAuthConfig {
27
+ endpoint: string;
28
+ clientId: string;
29
+ clientSecret: string;
30
+ resources: string[];
31
+ scopes: string[];
32
+ prompt: Prompt;
33
+ redirectUri: string;
34
+ signInUri: string;
35
+ dashboardSignInUri?: string;
36
+ }
37
+ export interface LogtoM2MConfig {
38
+ endpoint: string;
39
+ clientId: string;
40
+ clientSecret: string;
41
+ resource: string;
42
+ apiUrl: string;
43
+ scopes: string[];
44
+ }
@@ -1,14 +1,13 @@
1
1
  import { LoggerService } from "@nestjs/common";
2
- import { ConfigService } from "@nestjs/config";
3
2
  import { AxiosResponse } from "axios";
4
3
  import { OAuthClient, SignInType } from "./oauth-client";
5
4
  export declare const LogtoLoginSessionToken: unique symbol;
6
5
  export declare class LogtoLoginSession {
6
+ private readonly apiUrl;
7
7
  private readonly logger;
8
- private readonly configService;
9
8
  private readonly oauthClient;
10
9
  private readonly apiRestTemplate;
11
- constructor(logger: LoggerService, configService: ConfigService, oauthClient: OAuthClient);
10
+ constructor(apiUrl: string, logger: LoggerService, oauthClient: OAuthClient);
12
11
  createSignInSession(signInType: SignInType): Promise<{
13
12
  response: AxiosResponse | undefined;
14
13
  state: string;
@@ -8,27 +8,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
15
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
13
  };
17
14
  Object.defineProperty(exports, "__esModule", { value: true });
18
15
  exports.LogtoLoginSession = exports.LogtoLoginSessionToken = void 0;
19
16
  const common_1 = require("@nestjs/common");
20
- const config_1 = require("@nestjs/config");
21
17
  const axios_1 = __importDefault(require("axios"));
22
18
  const oauth_client_1 = require("./oauth-client");
23
19
  const types_1 = require("./types");
24
20
  exports.LogtoLoginSessionToken = Symbol.for("LogtoLoginSession");
25
21
  let LogtoLoginSession = class LogtoLoginSession {
26
- constructor(logger, configService, oauthClient) {
22
+ constructor(apiUrl, logger, oauthClient) {
23
+ this.apiUrl = apiUrl;
27
24
  this.logger = logger;
28
- this.configService = configService;
29
25
  this.oauthClient = oauthClient;
30
- const baseURL = this.configService.get("LOGTO_M2M_API_URL");
31
- this.apiRestTemplate = new types_1.LogtoOAuthRESTTemplate(this.logger, baseURL);
26
+ this.apiRestTemplate = new types_1.LogtoOAuthRESTTemplate(this.logger, apiUrl);
32
27
  }
33
28
  async createSignInSession(signInType) {
34
29
  const { uri, state } = this.oauthClient.getSignInURI(signInType);
@@ -119,10 +114,6 @@ let LogtoLoginSession = class LogtoLoginSession {
119
114
  exports.LogtoLoginSession = LogtoLoginSession;
120
115
  exports.LogtoLoginSession = LogtoLoginSession = __decorate([
121
116
  (0, common_1.Injectable)(),
122
- __param(0, (0, common_1.Inject)(types_1.LogtoLoggerServiceToken)),
123
- __param(1, (0, common_1.Inject)(config_1.ConfigService)),
124
- __param(2, (0, common_1.Inject)(oauth_client_1.OAuthClientToken)),
125
- __metadata("design:paramtypes", [Object, config_1.ConfigService,
126
- oauth_client_1.OAuthClient])
117
+ __metadata("design:paramtypes", [String, Object, oauth_client_1.OAuthClient])
127
118
  ], LogtoLoginSession);
128
119
  //# sourceMappingURL=logto-login-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logto-login-session.js","sourceRoot":"","sources":["../../client/logto-login-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logto-login-session.js","sourceRoot":"","sources":["../../client/logto-login-session.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
1
  import { LoggerService } from "@nestjs/common";
2
- import { ConfigService } from "@nestjs/config";
2
+ import { LogtoM2MConfig } from "./config";
3
3
  import { LogtoTokenVerifier } from "../token";
4
4
  import { LogtoRole, LogtoRoleResponse, LogtoUser, LogtoUserResponse } from "./types";
5
5
  import { p3Values } from "point3-common-tool";
6
6
  export declare const LogtoM2MClientToken: unique symbol;
7
7
  export declare class LogtoM2MClient {
8
- private readonly configService;
8
+ private readonly config;
9
9
  private readonly tokenVerifier;
10
10
  private readonly logger;
11
11
  private logtoConfig;
12
12
  private accessToken?;
13
13
  private readonly authRestTemplate;
14
14
  private readonly apiRestTemplate;
15
- constructor(configService: ConfigService, tokenVerifier: LogtoTokenVerifier, logger: LoggerService);
15
+ constructor(config: LogtoM2MConfig, tokenVerifier: LogtoTokenVerifier, logger: LoggerService);
16
16
  fetchAccessToken(): Promise<void>;
17
17
  fetchAccessTokenByPAT(pat: string): Promise<{
18
18
  accessToken: string;
@@ -25,7 +25,6 @@ export declare class LogtoM2MClient {
25
25
  createUser(user: LogtoUser): Promise<string>;
26
26
  updateUserClientInfo(userId: string, clientId?: string): Promise<void>;
27
27
  getUser(id: string): Promise<LogtoUserResponse>;
28
- getUsersByEmailAndPhone(email: string, phone: string): Promise<LogtoUserResponse>;
29
28
  getUserByUsername(username: string): Promise<LogtoUserResponse>;
30
29
  suspendUser(userId: string): Promise<LogtoUserResponse>;
31
30
  deleteUser(userId: string): Promise<void>;
@@ -8,36 +8,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.LogtoM2MClient = exports.LogtoM2MClientToken = void 0;
16
13
  exports.generatePhoneNumberWithCountryCode = generatePhoneNumberWithCountryCode;
17
14
  const common_1 = require("@nestjs/common");
18
- const config_1 = require("@nestjs/config");
19
- const config_2 = require("./config");
15
+ const config_1 = require("./config");
20
16
  const token_1 = require("../token");
21
17
  const types_1 = require("./types");
22
18
  const point3_common_tool_1 = require("point3-common-tool");
23
19
  const errors_1 = require("../errors");
24
20
  exports.LogtoM2MClientToken = Symbol.for("LogtoM2MClient");
25
21
  let LogtoM2MClient = class LogtoM2MClient {
26
- constructor(configService, tokenVerifier, logger) {
27
- this.configService = configService;
22
+ constructor(config, tokenVerifier, logger) {
23
+ this.config = config;
28
24
  this.tokenVerifier = tokenVerifier;
29
25
  this.logger = logger;
30
26
  this.logtoConfig = {
31
- endpoint: this.configService.get('LOGTO_AUTH_ENDPOINT'),
32
- appId: this.configService.get('LOGTO_M2M_CLIENT_ID'),
33
- appSecret: this.configService.get('LOGTO_M2M_CLIENT_SECRET'),
34
- scopes: ['all'],
35
- resources: [this.configService.get('LOGTO_M2M_RESOURCE')],
36
- grantType: config_2.GrantType.ClientCredentials,
27
+ endpoint: config.endpoint,
28
+ appId: config.clientId,
29
+ appSecret: config.clientSecret,
30
+ scopes: config.scopes,
31
+ resources: [config.resource],
32
+ grantType: config_1.GrantType.ClientCredentials,
37
33
  };
38
34
  this.authRestTemplate = new types_1.LogtoOAuthRESTTemplate(this.logger, this.logtoConfig.endpoint);
39
35
  this.authRestTemplate.setBasic(this.logtoConfig.appId, this.logtoConfig.appSecret);
40
- this.apiRestTemplate = new types_1.LogtoOAuthRESTTemplate(this.logger, this.configService.get('LOGTO_M2M_API_URL'));
36
+ this.apiRestTemplate = new types_1.LogtoOAuthRESTTemplate(this.logger, config.apiUrl);
41
37
  }
42
38
  async fetchAccessToken() {
43
39
  const params = new URLSearchParams();
@@ -115,7 +111,7 @@ let LogtoM2MClient = class LogtoM2MClient {
115
111
  }
116
112
  async createUser(user) {
117
113
  await this.getAccessToken();
118
- if (user.username && user.primaryEmail && user.password && user.primaryPhone && user.name) {
114
+ if (user.username && user.primaryEmail && user.password && user.name) {
119
115
  user.passwordAlgorithm = user.passwordAlgorithm ?? types_1.LogtoPasswordAlgorithm.Argon2i;
120
116
  const response = await this.apiRestTemplate.post('/users', user);
121
117
  return response.data.id;
@@ -134,27 +130,6 @@ let LogtoM2MClient = class LogtoM2MClient {
134
130
  const response = await this.apiRestTemplate.get(`/users/${id}`);
135
131
  return response.data;
136
132
  }
137
- async getUsersByEmailAndPhone(email, phone) {
138
- await this.getAccessToken();
139
- const params = new URLSearchParams();
140
- params.set('search.primaryEmail', email);
141
- params.set('search.primaryPhone', generatePhoneNumberWithCountryCode('82', phone));
142
- params.set('joint', 'and');
143
- params.set('mode.primaryEmail', 'exact');
144
- params.set('mode.primaryPhone', 'exact');
145
- const response = await this.apiRestTemplate.get(`/users?${params.toString()}`);
146
- const logtoUsers = response.data;
147
- if (logtoUsers.length === 1) {
148
- return logtoUsers[0];
149
- }
150
- if (logtoUsers.length === 0) {
151
- this.logger.error(`사용자 없음: email=${email}, phone=${phone}`, this.constructor.name);
152
- throw new errors_1.UserNotFoundError(email, phone);
153
- }
154
- this.logger.error(`여러 사용자 발견: email=${email}, phone=${phone}`, this.constructor.name);
155
- this.logger.error(JSON.stringify(logtoUsers), this.constructor.name);
156
- throw new errors_1.MultipleUsersFoundError(email, phone);
157
- }
158
133
  async getUserByUsername(username) {
159
134
  await this.getAccessToken();
160
135
  const params = new URLSearchParams();
@@ -210,11 +185,7 @@ exports.LogtoM2MClient = LogtoM2MClient;
210
185
  exports.LogtoM2MClient = LogtoM2MClient = __decorate([
211
186
  (0, common_1.Global)(),
212
187
  (0, common_1.Injectable)(),
213
- __param(0, (0, common_1.Inject)(config_1.ConfigService)),
214
- __param(1, (0, common_1.Inject)(token_1.LogtoTokenVerifierToken)),
215
- __param(2, (0, common_1.Inject)(types_1.LogtoLoggerServiceToken)),
216
- __metadata("design:paramtypes", [config_1.ConfigService,
217
- token_1.LogtoTokenVerifier, Object])
188
+ __metadata("design:paramtypes", [Object, token_1.LogtoTokenVerifier, Object])
218
189
  ], LogtoM2MClient);
219
190
  function generatePhoneNumberWithCountryCode(countryCode, phoneNumber) {
220
191
  if (phoneNumber.startsWith('0')) {
@@ -1 +1 @@
1
- {"version":3,"file":"m2m-client.js","sourceRoot":"","sources":["../../client/m2m-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"m2m-client.js","sourceRoot":"","sources":["../../client/m2m-client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAmaA,gFAKC;AAhaD,2CAIwB;AAExB,qCAIkB;AAClB,oCAGkB;AAClB,mCAQiB;AACjB,2DAA4D;AAC5D,sCAEmB;AAGN,QAAA,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAwBzD,IAAM,cAAc,GAApB,MAAM,cAAc;IASvB,YACqB,MAAsB,EACtB,aAAiC,EACjC,MAAqB;QAFrB,WAAM,GAAN,MAAM,CAAgB;QACtB,kBAAa,GAAb,aAAa,CAAoB;QACjC,WAAM,GAAN,MAAM,CAAe;QAGtC,IAAI,CAAC,WAAW,GAAG;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,SAAS,EAAE,MAAM,CAAC,YAAY;YAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5B,SAAS,EAAE,kBAAS,CAAC,iBAAiB;SACzC,CAAC;QAGF,IAAI,CAAC,gBAAgB,GAAG,IAAI,8BAAsB,CAC9C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC5B,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAGnF,IAAI,CAAC,eAAe,GAAG,IAAI,8BAAsB,CAC7C,IAAI,CAAC,MAAM,EACX,MAAM,CAAC,MAAM,CAChB,CAAC;IACN,CAAC;IASD,KAAK,CAAC,gBAAgB;QAClB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,SAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAG9C,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC5B,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;SACnE,CAAC,CAAC;QAEH,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAEnE,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAW,CAC9B,OAAO,CAAC,GAAG,EACX,YAAY,EACZ,UAAU,CACb,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAKO,KAAK,CAAC,qBAAqB,CAAC,GAAW;QAC3C,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,iDAAiD,CAAC,CAAC;YAChF,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,MAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,SAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACrC,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE,4CAA4C,CAAC,CAAC;YAGnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7C,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,QAAQ,EACpC,UAAU,CAAC,QAAQ,EAAE,EACrB;gBACI,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;aACnE,CACJ,CAAC;YAGF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO;gBACH,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;aAC7C,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAMO,KAAK,CAAC,cAAc;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,WAAY,CAAC,KAAK,CAAC;IACnC,CAAC;IASD,KAAK,CAAC,QAAQ;QACV,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAsB,QAAQ,CAAC,CAAC;QAC/E,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAMD,KAAK,CAAC,aAAa,CAAC,IAAY;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAC3C,UAAU,MAAM,CAAC,QAAQ,EAAE,EAAE,CAChC,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAMD,KAAK,CAAC,UAAU,CAAC,IAAe;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5C,QAAQ,EACR,IAAI,CACP,CAAC;QAEF,IAAI,QAAQ,YAAY,iCAAY,CAAC,eAAe,EAAE,CAAC;YACnD,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,eAAe,QAAQ,CAAC,IAAI,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;gBACF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,QAAQ,CAAC;QACnB,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAOD,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,MAAc;QACjD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,MAAM,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,eAAe,MAAM,EAAE,EACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;IACN,CAAC;IAWD,KAAK,CAAC,UAAU,CAAC,IAAe;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,8BAAsB,CAAC,OAAO,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAiB,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjF,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,uCAA8B,EAAE,CAAC;IAC/C,CAAC;IAOD,KAAK,CAAC,oBAAoB,CACtB,MAAc,EACd,QAAiB;QAEjB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,MAAM,EAAE,EAAE;YACjD,UAAU,EAAE,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAC;IACP,CAAC;IAMD,KAAK,CAAC,OAAO,CAAC,EAAU;QACpB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAoB,UAAU,EAAE,EAAE,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAOD,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAC3C,UAAU,MAAM,CAAC,QAAQ,EAAE,EAAE,CAChC,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAMD,KAAK,CAAC,WAAW,CAAC,MAAc;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAC7C,UAAU,MAAM,eAAe,EAC/B,EAAE,WAAW,EAAE,IAAI,EAAE,CACxB,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAMD,KAAK,CAAC,UAAU,CAAC,MAAc;QAC3B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAOD,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAc;QAC/C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,MAAM,UAAU,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAMD,KAAK,CAAC,aAAa,CAAC,MAAc;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAC7C,UAAU,MAAM,eAAe,EAC/B,EAAE,WAAW,EAAE,KAAK,EAAE,CACzB,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAMD,KAAK,CAAC,oBAAoB,CACtB,UAAiD;QAEjD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAG5B,MAAM,MAAM,GACR,UAAU,YAAY,8BAAsB,CAAC,KAAK;YAC9C,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC;QAElB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACnD,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC;IACP,CAAC;IAOD,KAAK,CAAC,UAAU,CACZ,UAAiD,EACjD,IAAY;QAEZ,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,MAAM,GACR,UAAU,YAAY,8BAAsB,CAAC,KAAK;YAC9C,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,OAAO,CAAC;QAElB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC1D,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE;YAC/B,gBAAgB,EAAE,IAAI;SACzB,CAAC,CAAC;IACP,CAAC;IAOD,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,QAAgB;QACrD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAC7C,UAAU,MAAM,WAAW,EAC3B,EAAE,QAAQ,EAAE,CACf,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;CACJ,CAAA;AA7VY,wCAAc;yBAAd,cAAc;IAF1B,IAAA,eAAM,GAAE;IACR,IAAA,mBAAU,GAAE;6CAY2B,0BAAkB;GAX7C,cAAc,CA6V1B;AAQD,SAAgB,kCAAkC,CAAC,WAAmB,EAAE,WAAmB;IACvF,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAC1C,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { LoggerService } from "@nestjs/common";
2
- import { ConfigService } from "@nestjs/config";
2
+ import { LogtoOAuthConfig } from "./config";
3
3
  export declare const OAuthClientToken = "OAuthClient";
4
4
  export declare class OAuthClient {
5
- private configService;
6
- private logger;
5
+ private readonly config;
6
+ private readonly logger;
7
7
  private logtoConfig;
8
8
  private logtoRestTemplate;
9
9
  static readonly prefix: string;
10
- constructor(configService: ConfigService, logger: LoggerService);
10
+ constructor(config: LogtoOAuthConfig, logger: LoggerService);
11
11
  getSignInURI(signInType: SignInType): {
12
12
  uri: string;
13
13
  state: string;
@@ -8,9 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
15
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
13
  };
@@ -20,24 +17,23 @@ exports.SignInType = exports.OAuthClient = exports.OAuthClientToken = void 0;
20
17
  const common_1 = require("@nestjs/common");
21
18
  const axios_1 = __importDefault(require("axios"));
22
19
  const config_1 = require("./config");
23
- const config_2 = require("@nestjs/config");
24
20
  const point3_common_tool_1 = require("point3-common-tool");
25
21
  const errors_1 = require("../errors");
26
22
  const types_1 = require("./types");
27
23
  const Gulid = point3_common_tool_1.p3Values.Gulid;
28
24
  exports.OAuthClientToken = "OAuthClient";
29
25
  let OAuthClient = OAuthClient_1 = class OAuthClient {
30
- constructor(configService, logger) {
31
- this.configService = configService;
26
+ constructor(config, logger) {
27
+ this.config = config;
32
28
  this.logger = logger;
33
29
  this.logtoConfig = {
34
- endpoint: this.configService.get("LOGTO_AUTH_ENDPOINT"),
35
- appId: this.configService.get("LOGTO_CLIENT_ID"),
36
- appSecret: this.configService.get("LOGTO_CLIENT_SECRET"),
37
- resources: [this.configService.get("LOGTO_RESOURCES")],
38
- scopes: this.configService.get("LOGTO_SCOPES").split(","),
39
- prompt: this.configService.get("LOGTO_PROMPT"),
40
- redirectUri: this.configService.get("LOGTO_REDIRECT_URI"),
30
+ endpoint: config.endpoint,
31
+ appId: config.clientId,
32
+ appSecret: config.clientSecret,
33
+ resources: config.resources,
34
+ scopes: config.scopes,
35
+ prompt: config.prompt,
36
+ redirectUri: config.redirectUri,
41
37
  grantType: config_1.GrantType.AuthorizationCode,
42
38
  };
43
39
  this.logtoRestTemplate = new types_1.LogtoOAuthRESTTemplate(logger, this.logtoConfig.endpoint);
@@ -47,16 +43,16 @@ let OAuthClient = OAuthClient_1 = class OAuthClient {
47
43
  try {
48
44
  let uri;
49
45
  if (signInType === SignInType.Dashboard) {
50
- try {
51
- uri = new URL(`${this.configService.get("LOGTO_DASHBOARD_SIGN_IN_URI")}/auth`);
46
+ if (this.config.dashboardSignInUri) {
47
+ uri = new URL(`${this.config.dashboardSignInUri}/auth`);
52
48
  }
53
- catch (error) {
49
+ else {
54
50
  this.logger.warn("대시보드 로그인 URI 설정을 찾을 수 없어 기본 URI를 사용합니다.", this.constructor.name);
55
- uri = new URL(`${this.configService.get("LOGTO_SIGN_IN_URI")}/auth`);
51
+ uri = new URL(`${this.config.signInUri}/auth`);
56
52
  }
57
53
  }
58
54
  else {
59
- uri = new URL(`${this.configService.get("LOGTO_SIGN_IN_URI")}/auth`);
55
+ uri = new URL(`${this.config.signInUri}/auth`);
60
56
  }
61
57
  const state = Gulid.create(OAuthClient_1.prefix);
62
58
  uri.searchParams.set("redirect_uri", this.logtoConfig.redirectUri);
@@ -74,7 +70,7 @@ let OAuthClient = OAuthClient_1 = class OAuthClient {
74
70
  }
75
71
  async getSignOutURI() {
76
72
  try {
77
- const uri = new URL(`${this.configService.get("LOGTO_SIGN_IN_URI")}/session/end`);
73
+ const uri = new URL(`${this.config.signInUri}/session/end`);
78
74
  uri.searchParams.set("redirect_uri", this.logtoConfig.redirectUri);
79
75
  uri.searchParams.set("client_id", this.logtoConfig.appId);
80
76
  return uri.toString();
@@ -123,9 +119,7 @@ OAuthClient.prefix = "signin";
123
119
  exports.OAuthClient = OAuthClient = OAuthClient_1 = __decorate([
124
120
  (0, common_1.Global)(),
125
121
  (0, common_1.Injectable)(),
126
- __param(0, (0, common_1.Inject)(config_2.ConfigService)),
127
- __param(1, (0, common_1.Inject)(types_1.LogtoLoggerServiceToken)),
128
- __metadata("design:paramtypes", [config_2.ConfigService, Object])
122
+ __metadata("design:paramtypes", [Object, Object])
129
123
  ], OAuthClient);
130
124
  var SignInType;
131
125
  (function (SignInType) {