@kaapi/oauth2-auth-design 0.0.13 → 0.0.15

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.
Files changed (85) hide show
  1. package/kaukau.config.mjs +20 -0
  2. package/lib/cli.d.ts +13 -0
  3. package/lib/cli.js +181 -0
  4. package/lib/cli.js.map +1 -0
  5. package/lib/flows/auth-code/authorization-route.d.ts +58 -7
  6. package/lib/flows/auth-code/authorization-route.js +139 -52
  7. package/lib/flows/auth-code/authorization-route.js.map +1 -1
  8. package/lib/flows/auth-code/authorization-utils.d.ts +35 -0
  9. package/lib/flows/auth-code/authorization-utils.js +44 -0
  10. package/lib/flows/auth-code/authorization-utils.js.map +1 -0
  11. package/lib/flows/auth-code/token-route.d.ts +10 -18
  12. package/lib/flows/auth-code/token-route.js +6 -15
  13. package/lib/flows/auth-code/token-route.js.map +1 -1
  14. package/lib/flows/authorization-code.d.ts +112 -0
  15. package/lib/flows/authorization-code.js +570 -0
  16. package/lib/flows/authorization-code.js.map +1 -0
  17. package/lib/flows/client-credentials.d.ts +79 -39
  18. package/lib/flows/client-credentials.js +324 -257
  19. package/lib/flows/client-credentials.js.map +1 -1
  20. package/lib/flows/client-creds/token-route.d.ts +23 -0
  21. package/lib/flows/client-creds/token-route.js +52 -0
  22. package/lib/flows/client-creds/token-route.js.map +1 -0
  23. package/lib/flows/common.d.ts +265 -28
  24. package/lib/flows/common.js +293 -29
  25. package/lib/flows/common.js.map +1 -1
  26. package/lib/flows/device-auth/authorization-route.d.ts +83 -0
  27. package/lib/flows/device-auth/authorization-route.js +68 -0
  28. package/lib/flows/device-auth/authorization-route.js.map +1 -0
  29. package/lib/flows/device-auth/token-route.d.ts +29 -0
  30. package/lib/flows/device-auth/token-route.js +49 -0
  31. package/lib/flows/device-auth/token-route.js.map +1 -0
  32. package/lib/flows/device-authorization.d.ts +112 -0
  33. package/lib/flows/device-authorization.js +523 -0
  34. package/lib/flows/device-authorization.js.map +1 -0
  35. package/lib/flows/oidc-multiple-flows.d.ts +59 -0
  36. package/lib/flows/oidc-multiple-flows.js +268 -0
  37. package/lib/flows/oidc-multiple-flows.js.map +1 -0
  38. package/lib/index.d.ts +12 -6
  39. package/lib/index.js +12 -6
  40. package/lib/index.js.map +1 -1
  41. package/lib/utils/client-auth-methods.d.ts +2 -2
  42. package/lib/utils/client-auth-methods.js +5 -6
  43. package/lib/utils/client-auth-methods.js.map +1 -1
  44. package/lib/utils/in-memory-key-store.d.ts +12 -0
  45. package/lib/utils/in-memory-key-store.js +46 -0
  46. package/lib/utils/in-memory-key-store.js.map +1 -0
  47. package/lib/utils/jwt-authority.d.ts +81 -0
  48. package/lib/utils/jwt-authority.js +186 -0
  49. package/lib/utils/jwt-authority.js.map +1 -0
  50. package/lib/utils/jwt-utils.d.ts +33 -0
  51. package/lib/utils/jwt-utils.js +24 -0
  52. package/lib/utils/jwt-utils.js.map +1 -0
  53. package/lib/utils/replay-store.d.ts +13 -0
  54. package/lib/utils/{cache-set.js → replay-store.js} +8 -4
  55. package/lib/utils/replay-store.js.map +1 -0
  56. package/lib/utils/token-types.d.ts +6 -3
  57. package/lib/utils/token-types.js +13 -10
  58. package/lib/utils/token-types.js.map +1 -1
  59. package/lib/utils/verify-code-verifier.d.ts +4 -0
  60. package/lib/utils/verify-code-verifier.js +18 -0
  61. package/lib/utils/verify-code-verifier.js.map +1 -0
  62. package/package.json +11 -7
  63. package/lib/flows/auth-code/open-id.d.ts +0 -53
  64. package/lib/flows/auth-code/open-id.js +0 -199
  65. package/lib/flows/auth-code/open-id.js.map +0 -1
  66. package/lib/flows/auth-code.ts/open-id.d.ts +0 -52
  67. package/lib/flows/auth-code.ts/open-id.js +0 -169
  68. package/lib/flows/auth-code.ts/open-id.js.map +0 -1
  69. package/lib/flows/authentication-code.d.ts +0 -53
  70. package/lib/flows/authentication-code.js +0 -380
  71. package/lib/flows/authentication-code.js.map +0 -1
  72. package/lib/utils/cache-set.d.ts +0 -12
  73. package/lib/utils/cache-set.js.map +0 -1
  74. package/lib/utils/in-memory-cache.d.ts +0 -5
  75. package/lib/utils/in-memory-cache.js +0 -30
  76. package/lib/utils/in-memory-cache.js.map +0 -1
  77. package/lib/utils/in-memory-jwks-store.d.ts +0 -12
  78. package/lib/utils/in-memory-jwks-store.js +0 -46
  79. package/lib/utils/in-memory-jwks-store.js.map +0 -1
  80. package/lib/utils/jwks-generator.d.ts +0 -58
  81. package/lib/utils/jwks-generator.js +0 -141
  82. package/lib/utils/jwks-generator.js.map +0 -1
  83. package/lib/utils/jwks-store.d.ts +0 -13
  84. package/lib/utils/jwks-store.js +0 -3
  85. package/lib/utils/jwks-store.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"client-credentials.js","sourceRoot":"","sources":["../../src/flows/client-credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-credentials.js","sourceRoot":"","sources":["../../src/flows/client-credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Lifecycle, ReqRef, ReqRefDefaults } from '@kaapi/kaapi';
2
+ import { PathValue, TokenGenerator, OAuth2TokenParams, OAuth2TokenHandler, OAuth2TokenRoute, IOAuth2TokenRoute, DefaultOAuth2TokenRoute } from '../common';
3
+ export interface OAuth2ClientCredentialsTokenParams extends OAuth2TokenParams {
4
+ clientId: string;
5
+ clientSecret: string;
6
+ scope?: string;
7
+ }
8
+ export type OAuth2ClientCredentialsTokenHandler<Refs extends ReqRef = ReqRefDefaults, R extends Lifecycle.ReturnValue<any> = Lifecycle.ReturnValue<Refs>> = OAuth2TokenHandler<OAuth2ClientCredentialsTokenParams, Refs, R>;
9
+ export type IOAuth2ClientCredentialsTokenRoute<Refs extends ReqRef = ReqRefDefaults> = IOAuth2TokenRoute<OAuth2ClientCredentialsTokenParams, Refs>;
10
+ export declare class OAuth2ClientCredentialsTokenRoute<Refs extends ReqRef = ReqRefDefaults> extends OAuth2TokenRoute<OAuth2ClientCredentialsTokenParams, Refs> implements IOAuth2ClientCredentialsTokenRoute<Refs> {
11
+ static buildDefault<Refs extends ReqRef = ReqRefDefaults>(): DefaultOAuth2ClientCredentialsTokenRoute<Refs>;
12
+ }
13
+ /**
14
+ * Return null for invalid request
15
+ */
16
+ export type ClientCredentialsTokenGenerator<Refs extends ReqRef = ReqRefDefaults> = TokenGenerator<OAuth2ClientCredentialsTokenParams, Refs>;
17
+ export declare class DefaultOAuth2ClientCredentialsTokenRoute<Refs extends ReqRef = ReqRefDefaults> extends OAuth2ClientCredentialsTokenRoute<Refs> implements DefaultOAuth2TokenRoute<OAuth2ClientCredentialsTokenParams, Refs> {
18
+ #private;
19
+ constructor();
20
+ setPath(path: PathValue): this;
21
+ validate(handler: OAuth2ClientCredentialsTokenHandler<Refs>): this;
22
+ generateToken(handler: ClientCredentialsTokenGenerator<Refs>): this;
23
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var _DefaultOAuth2ClientCredentialsTokenRoute_generateToken;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DefaultOAuth2ClientCredentialsTokenRoute = exports.OAuth2ClientCredentialsTokenRoute = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const common_1 = require("../common");
7
+ class OAuth2ClientCredentialsTokenRoute extends common_1.OAuth2TokenRoute {
8
+ static buildDefault() {
9
+ return new DefaultOAuth2ClientCredentialsTokenRoute();
10
+ }
11
+ }
12
+ exports.OAuth2ClientCredentialsTokenRoute = OAuth2ClientCredentialsTokenRoute;
13
+ class DefaultOAuth2ClientCredentialsTokenRoute extends OAuth2ClientCredentialsTokenRoute {
14
+ constructor() {
15
+ super('/oauth2/token', (props, req, h) => tslib_1.__awaiter(this, void 0, void 0, function* () {
16
+ if (!props.clientSecret) {
17
+ return h.response({ error: common_1.OAuth2ErrorCode.INVALID_REQUEST, error_description: 'Token request was missing \'client_secret\'.' }).code(400);
18
+ }
19
+ let r = null;
20
+ try {
21
+ r = yield tslib_1.__classPrivateFieldGet(this, _DefaultOAuth2ClientCredentialsTokenRoute_generateToken, "f").call(this, props, req);
22
+ }
23
+ catch (err) {
24
+ return h.response({ error: common_1.OAuth2ErrorCode.INVALID_REQUEST, error_description: `${err}` }).code(400);
25
+ }
26
+ if (!r)
27
+ return h.response({ error: common_1.OAuth2ErrorCode.INVALID_REQUEST }).code(400);
28
+ if ('error' in r)
29
+ return h.response(r).code(400);
30
+ return h.response(r).code(200);
31
+ }));
32
+ _DefaultOAuth2ClientCredentialsTokenRoute_generateToken.set(this, void 0);
33
+ tslib_1.__classPrivateFieldSet(this, _DefaultOAuth2ClientCredentialsTokenRoute_generateToken, () => tslib_1.__awaiter(this, void 0, void 0, function* () { return ({ error: common_1.OAuth2ErrorCode.INVALID_REQUEST }); }), "f");
34
+ }
35
+ setPath(path) {
36
+ if (path)
37
+ this._path = path;
38
+ return this;
39
+ }
40
+ validate(handler) {
41
+ this._handler = handler;
42
+ return this;
43
+ }
44
+ generateToken(handler) {
45
+ tslib_1.__classPrivateFieldSet(this, _DefaultOAuth2ClientCredentialsTokenRoute_generateToken, handler, "f");
46
+ return this;
47
+ }
48
+ }
49
+ exports.DefaultOAuth2ClientCredentialsTokenRoute = DefaultOAuth2ClientCredentialsTokenRoute;
50
+ _DefaultOAuth2ClientCredentialsTokenRoute_generateToken = new WeakMap();
51
+ //#endregion Defaults
52
+ //# sourceMappingURL=token-route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-route.js","sourceRoot":"","sources":["../../../src/flows/client-creds/token-route.ts"],"names":[],"mappings":";;;;;AAKA,sCAYkB;AAqBlB,MAAa,iCAEX,SAAQ,yBAGT;IACG,MAAM,CAAC,YAAY;QAGf,OAAO,IAAI,wCAAwC,EAAQ,CAAA;IAC/D,CAAC;CACJ;AAXD,8EAWC;AAWD,MAAa,wCAEX,SAAQ,iCAAuC;IAO7C;QACI,KAAK,CAAC,eAAe,EAAE,CAAO,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAG,wBAAe,CAAC,eAAe,EAAE,iBAAiB,EAAE,8CAA8C,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC/I,CAAC;YAED,IAAI,CAAC,GAA4E,IAAI,CAAA;YAErF,IAAI,CAAC;gBACD,CAAC,GAAG,MAAM,+BAAA,IAAI,+DAAe,MAAnB,IAAI,EAAgB,KAAK,EAAE,GAAG,CAAC,CAAA;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAG,wBAAe,CAAC,eAAe,EAAE,iBAAiB,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzG,CAAC;YAED,IAAI,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAG,wBAAe,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEhF,IAAI,OAAO,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEhD,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC,CAAA,CAAC,CAAA;QArBN,0EAAqD;QAuBjD,+BAAA,IAAI,2DAAkB,GAAS,EAAE,wDAAC,OAAA,CAAC,EAAE,KAAK,EAAG,wBAAe,CAAC,eAAe,EAAE,CAAC,CAAA,GAAA,MAAA,CAAA;IACnF,CAAC;IAED,OAAO,CAAC,IAAe;QACnB,IAAI,IAAI;YACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,QAAQ,CAAC,OAAkD;QACvD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,aAAa,CAAC,OAA8C;QACxD,+BAAA,IAAI,2DAAkB,OAAO,MAAA,CAAA;QAC7B,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAhDD,4FAgDC;;AAED,qBAAqB"}
@@ -1,50 +1,183 @@
1
- import { Auth, AuthCredentials, AuthDesign, Lifecycle, ReqRef, ReqRefDefaults, Request, ResponseToolkit } from '@kaapi/kaapi';
2
- import { Boom } from '@hapi/boom';
3
- import { JWKSStore } from '../utils/jwks-store';
4
- import { JWKSGenerator, OAuth2JwtPayload } from '../utils/jwks-generator';
1
+ import { Auth, AuthCredentials, AuthDesign, ILogger, KaapiTools, Lifecycle, ReqRef, ReqRefDefaults, Request, ResponseToolkit } from '@kaapi/kaapi';
2
+ import { Boom as IBoom } from '@hapi/boom';
3
+ import { JWTPayload } from 'jose';
4
+ import { OAuth2Util } from '@novice1/api-doc-generator';
5
+ import { SecuritySchemeObject } from '@novice1/api-doc-generator/lib/generators/openapi/definitions';
6
+ import { OAuth2JwtPayload } from '../utils/jwt-utils';
5
7
  import { TokenType } from '../utils/token-types';
6
8
  import { ClientAuthMethod, TokenEndpointAuthMethod } from '../utils/client-auth-methods';
9
+ import { JwksKeyStore, JwksRotationTimestampStore, JwksRotator, JwtAuthority } from '../utils/jwt-authority';
10
+ import { JWK } from 'node-jose';
7
11
  export type PathValue = `/${string}`;
8
12
  export type WithRequired<T, K extends keyof T> = T & {
9
13
  [P in K]-?: T[P];
10
14
  };
11
- export type OAuth2Error = 'invalid_request' | 'invalid_client' | 'invalid_grant' | 'invalid_scope' | 'unauthorized_client' | 'unsupported_grant_type' | 'invalid_token';
15
+ export declare const StandardOAuth2ErrorCode: Readonly<{
16
+ readonly INVALID_REQUEST: "invalid_request";
17
+ readonly UNAUTHORIZED_CLIENT: "unauthorized_client";
18
+ readonly ACCESS_DENIED: "access_denied";
19
+ readonly UNSUPPORTED_RESPONSE_TYPE: "unsupported_response_type";
20
+ readonly INVALID_SCOPE: "invalid_scope";
21
+ readonly SERVER_ERROR: "server_error";
22
+ readonly TEMPORARILY_UNAVAILABLE: "temporarily_unavailable";
23
+ readonly INVALID_CLIENT: "invalid_client";
24
+ readonly INVALID_GRANT: "invalid_grant";
25
+ readonly UNSUPPORTED_GRANT_TYPE: "unsupported_grant_type";
26
+ }>;
27
+ export declare const ExtendedOAuth2ErrorCode: Readonly<{
28
+ readonly LOGIN_REQUIRED: "login_required";
29
+ readonly INTERACTION_REQUIRED: "interaction_required";
30
+ readonly CONSENT_REQUIRED: "consent_required";
31
+ readonly ACCOUNT_LOCKED: "account_locked";
32
+ readonly PASSWORD_EXPIRED: "password_expired";
33
+ }>;
34
+ export declare const OAuth2ErrorCode: Readonly<{
35
+ readonly LOGIN_REQUIRED: "login_required";
36
+ readonly INTERACTION_REQUIRED: "interaction_required";
37
+ readonly CONSENT_REQUIRED: "consent_required";
38
+ readonly ACCOUNT_LOCKED: "account_locked";
39
+ readonly PASSWORD_EXPIRED: "password_expired";
40
+ readonly INVALID_REQUEST: "invalid_request";
41
+ readonly UNAUTHORIZED_CLIENT: "unauthorized_client";
42
+ readonly ACCESS_DENIED: "access_denied";
43
+ readonly UNSUPPORTED_RESPONSE_TYPE: "unsupported_response_type";
44
+ readonly INVALID_SCOPE: "invalid_scope";
45
+ readonly SERVER_ERROR: "server_error";
46
+ readonly TEMPORARILY_UNAVAILABLE: "temporarily_unavailable";
47
+ readonly INVALID_CLIENT: "invalid_client";
48
+ readonly INVALID_GRANT: "invalid_grant";
49
+ readonly UNSUPPORTED_GRANT_TYPE: "unsupported_grant_type";
50
+ }>;
51
+ export declare const OAuth2TokenErrorCode: Readonly<{
52
+ readonly INVALID_TOKEN: "invalid_token";
53
+ readonly INSUFFICIENT_SCOPE: "insufficient_scope";
54
+ }>;
55
+ export declare const DeviceFlowOAuth2ErrorCode: Readonly<{
56
+ readonly ACCESS_DENIED: "access_denied";
57
+ readonly AUTHORIZATION_PENDING: "authorization_pending";
58
+ readonly SLOW_DOWN: "slow_down";
59
+ readonly EXPIRED_TOKEN: "expired_token";
60
+ }>;
61
+ export declare const AllOAuth2ErrorCode: Readonly<{
62
+ readonly ACCESS_DENIED: "access_denied";
63
+ readonly AUTHORIZATION_PENDING: "authorization_pending";
64
+ readonly SLOW_DOWN: "slow_down";
65
+ readonly EXPIRED_TOKEN: "expired_token";
66
+ readonly INVALID_TOKEN: "invalid_token";
67
+ readonly INSUFFICIENT_SCOPE: "insufficient_scope";
68
+ readonly LOGIN_REQUIRED: "login_required";
69
+ readonly INTERACTION_REQUIRED: "interaction_required";
70
+ readonly CONSENT_REQUIRED: "consent_required";
71
+ readonly ACCOUNT_LOCKED: "account_locked";
72
+ readonly PASSWORD_EXPIRED: "password_expired";
73
+ readonly INVALID_REQUEST: "invalid_request";
74
+ readonly UNAUTHORIZED_CLIENT: "unauthorized_client";
75
+ readonly UNSUPPORTED_RESPONSE_TYPE: "unsupported_response_type";
76
+ readonly INVALID_SCOPE: "invalid_scope";
77
+ readonly SERVER_ERROR: "server_error";
78
+ readonly TEMPORARILY_UNAVAILABLE: "temporarily_unavailable";
79
+ readonly INVALID_CLIENT: "invalid_client";
80
+ readonly INVALID_GRANT: "invalid_grant";
81
+ readonly UNSUPPORTED_GRANT_TYPE: "unsupported_grant_type";
82
+ }>;
83
+ export type StandardOAuth2ErrorCodeType = typeof StandardOAuth2ErrorCode[keyof typeof StandardOAuth2ErrorCode];
84
+ export type ExtendedOAuth2ErrorCodeType = typeof ExtendedOAuth2ErrorCode[keyof typeof ExtendedOAuth2ErrorCode];
85
+ export type OAuth2ErrorCodeType = StandardOAuth2ErrorCodeType | ExtendedOAuth2ErrorCodeType;
86
+ export type OAuth2TokenErrorCodeType = typeof OAuth2TokenErrorCode[keyof typeof OAuth2TokenErrorCode];
87
+ export type DeviceFlowOAuth2ErrorCodeType = typeof DeviceFlowOAuth2ErrorCode[keyof typeof DeviceFlowOAuth2ErrorCode];
88
+ export type AnyOAuth2ErrorCodeType = StandardOAuth2ErrorCodeType | ExtendedOAuth2ErrorCodeType | OAuth2TokenErrorCodeType | DeviceFlowOAuth2ErrorCodeType;
89
+ export declare function createMatchOAuth2ErrorCode<R>(handlers: Partial<Record<AnyOAuth2ErrorCodeType, () => R>>): (code: AnyOAuth2ErrorCodeType) => R | undefined;
12
90
  export type OAuth2ErrorBody = {
13
- error: OAuth2Error;
91
+ error: AnyOAuth2ErrorCodeType;
14
92
  error_description?: string;
15
93
  error_uri?: string;
16
94
  [key: string]: unknown;
17
95
  };
18
96
  export type OAuth2AuthOptions<Refs extends ReqRef = ReqRefDefaults> = {
19
- validate?(request: Request<Refs>, token: string, h: ResponseToolkit<Refs>): Promise<{
97
+ /**
98
+ * Auto-verifies the access token JWT using the configured JWKS before running user validation.
99
+ */
100
+ useAccessTokenJwks?: boolean;
101
+ /**
102
+ *
103
+ * User validations
104
+ */
105
+ validate?(request: Request<Refs>, tokens: {
106
+ /**
107
+ * The access token to validate and/or decode
108
+ */
109
+ token: string;
110
+ /**
111
+ * Only defined if useAccessTokenJwks is true. Otherwise, validate and decode the token manually
112
+ */
113
+ jwtAccessTokenPayload?: JWTPayload;
114
+ }, h: ResponseToolkit<Refs>): Promise<{
20
115
  isValid?: boolean;
21
116
  artifacts?: unknown;
22
117
  credentials?: AuthCredentials;
23
118
  message?: string;
24
- } | Auth | Boom>;
119
+ } | Auth | IBoom>;
25
120
  };
26
121
  export interface OpenIDHelpers {
27
122
  readonly ttl?: number;
28
- createIDToken: (payload: WithRequired<Partial<OAuth2JwtPayload>, 'sub'>) => Promise<string>;
123
+ createIdToken: (payload: WithRequired<Partial<OAuth2JwtPayload>, 'sub'>) => Promise<{
124
+ token: string;
125
+ kid: string;
126
+ }>;
29
127
  }
30
- export interface OAuth2RefreshTokenParams extends Partial<OpenIDHelpers> {
128
+ export type TokenGenerator<P extends object = object, Refs extends ReqRef = ReqRefDefaults, Err extends {
129
+ error: string;
130
+ } = OAuth2ErrorBody> = (params: P, req: Request<Refs>) => Promise<OAuth2TokenResponseBody | IOAuth2TokenResponse | Err | null> | OAuth2TokenResponseBody | IOAuth2TokenResponse | Err | null;
131
+ export interface OAuth2TokenParams extends Partial<OpenIDHelpers> {
31
132
  grantType: string;
133
+ tokenType: string;
134
+ readonly ttl?: number;
135
+ createJwtAccessToken?: (payload: JWTPayload) => Promise<{
136
+ token: string;
137
+ kid: string;
138
+ }>;
139
+ }
140
+ export type OAuth2TokenHandler<P extends OAuth2TokenParams = OAuth2TokenParams, Refs extends ReqRef = ReqRefDefaults, R extends Lifecycle.ReturnValue<any> = Lifecycle.ReturnValue<Refs>> = (params: P, request: Request<Refs>, h: ResponseToolkit<Refs>) => R;
141
+ export interface IOAuth2TokenRoute<P extends OAuth2TokenParams = OAuth2TokenParams, Refs extends ReqRef = ReqRefDefaults> {
142
+ path: string;
143
+ handler: OAuth2TokenHandler<P, Refs>;
144
+ }
145
+ export declare abstract class OAuth2TokenRoute<P extends OAuth2TokenParams = OAuth2TokenParams, Refs extends ReqRef = ReqRefDefaults> implements IOAuth2TokenRoute<P, Refs> {
146
+ protected _path: string;
147
+ protected _handler: OAuth2TokenHandler<P, Refs>;
148
+ get path(): string;
149
+ get handler(): OAuth2TokenHandler<P, Refs, Lifecycle.ReturnValue<Refs>>;
150
+ constructor(path: string, handler: OAuth2TokenHandler<P, Refs>);
151
+ }
152
+ export interface DefaultOAuth2TokenRoute<P extends OAuth2TokenParams = OAuth2TokenParams, Refs extends ReqRef = ReqRefDefaults, Err extends {
153
+ error: string;
154
+ } = OAuth2ErrorBody> extends OAuth2TokenRoute<P, Refs> {
155
+ setPath(path: PathValue): this;
156
+ validate(handler: OAuth2TokenHandler<P, Refs>): this;
157
+ generateToken(handler: TokenGenerator<P, Refs, Err>): this;
158
+ }
159
+ export interface OAuth2RefreshTokenParams extends OAuth2TokenParams {
32
160
  refreshToken: string;
33
161
  clientId: string;
34
162
  clientSecret?: string;
35
163
  scope?: string;
164
+ verifyJwt?<P extends object = object>(token: string): Promise<P & JWTPayload>;
36
165
  }
37
- export type OAuth2RefreshTokenHandler<Refs extends ReqRef = ReqRefDefaults, R extends Lifecycle.ReturnValue<any> = Lifecycle.ReturnValue<Refs>> = (params: OAuth2RefreshTokenParams, request: Request<Refs>, h: ResponseToolkit<Refs>) => R;
38
- export interface IOAuth2RefreshTokenRoute<Refs extends ReqRef = ReqRefDefaults> {
39
- path: string;
40
- handler: OAuth2RefreshTokenHandler<Refs>;
166
+ export type OAuth2RefreshTokenHandler<Refs extends ReqRef = ReqRefDefaults, R extends Lifecycle.ReturnValue<any> = Lifecycle.ReturnValue<Refs>> = OAuth2TokenHandler<OAuth2RefreshTokenParams, Refs, R>;
167
+ export type IOAuth2RefreshTokenRoute<Refs extends ReqRef = ReqRefDefaults> = IOAuth2TokenRoute<OAuth2RefreshTokenParams, Refs>;
168
+ export declare class OAuth2RefreshTokenRoute<Refs extends ReqRef = ReqRefDefaults> extends OAuth2TokenRoute<OAuth2RefreshTokenParams, Refs> implements IOAuth2RefreshTokenRoute<Refs> {
169
+ static buildDefault<Refs extends ReqRef = ReqRefDefaults, Err extends {
170
+ error: string;
171
+ } = OAuth2ErrorBody>(): DefaultOAuth2RefreshTokenRoute<Refs, Err>;
41
172
  }
42
- export declare class OAuth2RefreshTokenRoute<Refs extends ReqRef = ReqRefDefaults> implements IOAuth2RefreshTokenRoute<Refs> {
43
- protected _path: string;
44
- protected _handler: OAuth2RefreshTokenHandler<Refs>;
45
- get path(): string;
46
- get handler(): OAuth2RefreshTokenHandler<Refs, Lifecycle.ReturnValue<Refs>>;
47
- constructor(path: string, handler: OAuth2RefreshTokenHandler<Refs>);
173
+ export declare class DefaultOAuth2RefreshTokenRoute<Refs extends ReqRef = ReqRefDefaults, Err extends {
174
+ error: string;
175
+ } = OAuth2ErrorBody> extends OAuth2RefreshTokenRoute<Refs> implements DefaultOAuth2TokenRoute<OAuth2RefreshTokenParams, Refs, Err> {
176
+ #private;
177
+ constructor();
178
+ generateToken(handler: TokenGenerator<OAuth2RefreshTokenParams, Refs, Err>): this;
179
+ setPath(path: PathValue): this;
180
+ validate(handler: OAuth2RefreshTokenHandler<Refs>): this;
48
181
  }
49
182
  export interface OAuth2TokenResponseBody {
50
183
  access_token: string;
@@ -92,7 +225,7 @@ export declare class OAuth2TokenResponse implements IOAuth2TokenResponse {
92
225
  getRefreshToken(): string | undefined;
93
226
  setScope(value?: string | string[]): this;
94
227
  getScope(): string | undefined;
95
- setIDToken(value?: string): this;
228
+ setIdToken(value?: string): this;
96
229
  getIDToken(): string | undefined;
97
230
  toObject(): {
98
231
  access_token: string;
@@ -111,29 +244,133 @@ export declare class OAuth2TokenResponse implements IOAuth2TokenResponse {
111
244
  id_token?: string;
112
245
  };
113
246
  }
247
+ export interface OAuth2JwksOptions {
248
+ keyStore?: JwksKeyStore;
249
+ /**
250
+ * Public key ttl in seconds
251
+ */
252
+ ttl?: number;
253
+ /**
254
+ * key pair rotation
255
+ */
256
+ rotation?: {
257
+ intervalMs: number;
258
+ timestampStore: JwksRotationTimestampStore;
259
+ };
260
+ }
261
+ export interface OAuth2AuthDesignOptions {
262
+ logger?: ILogger;
263
+ jwksOptions?: OAuth2JwksOptions;
264
+ jwksRoute?: IJWKSRoute<any>;
265
+ options?: OAuth2AuthOptions<any>;
266
+ strategyName?: string;
267
+ }
114
268
  export declare abstract class OAuth2AuthDesign extends AuthDesign {
115
269
  protected _clientAuthMethods: Record<TokenEndpointAuthMethod, ClientAuthMethod | undefined>;
116
270
  protected _tokenType: TokenType<any>;
117
271
  get tokenType(): string;
118
272
  protected get clientAuthMethods(): Record<TokenEndpointAuthMethod, ClientAuthMethod | undefined>;
119
- constructor();
273
+ protected strategyName: string;
274
+ protected options: OAuth2AuthOptions;
275
+ protected description?: string;
276
+ protected scopes?: Record<string, string>;
277
+ protected tokenTTL?: number;
278
+ protected logger?: ILogger;
279
+ protected jwksRoute?: IJWKSRoute<any>;
280
+ protected jwksKeyStore?: JwksKeyStore;
281
+ protected jwksPublicKeyTtl?: number;
282
+ protected jwksRotationIntervalMs?: number;
283
+ protected jwksRotationTimestampStore?: JwksRotationTimestampStore;
284
+ protected jwtAuthority?: JwtAuthority;
285
+ protected jwksRotator?: JwksRotator;
286
+ constructor(options?: OAuth2AuthDesignOptions);
120
287
  protected _extractClientParams(req: Request<ReqRefDefaults>, authMethodsInstances: Record<TokenEndpointAuthMethod, ClientAuthMethod | undefined>, checkOrder: TokenEndpointAuthMethod[]): Promise<{
121
288
  clientId?: string;
122
289
  clientSecret?: string;
123
- error?: OAuth2Error;
290
+ error?: AnyOAuth2ErrorCodeType;
124
291
  errorDescription?: string;
125
292
  }>;
293
+ protected getJwtAuthority(): JwtAuthority | undefined;
294
+ protected getJwksRotator(): JwksRotator | undefined;
295
+ protected createJwksEndpoint(t: KaapiTools): void;
296
+ checkAndRotateKeys(): Promise<void>;
297
+ generateKeyPair(): Promise<void>;
126
298
  setTokenType<Refs extends ReqRef = ReqRefDefaults>(value: TokenType<Refs>): this;
127
299
  getTokenEndpointAuthMethods(): TokenEndpointAuthMethod[];
128
300
  clientSecretBasicAuthenticationMethod(): this;
129
301
  clientSecretPostAuthenticationMethod(): this;
130
302
  noneAuthenticationMethod(): this;
131
303
  addClientAuthenticationMethod(value: 'client_secret_basic' | 'client_secret_post' | 'none' | ClientAuthMethod): this;
132
- }
133
- export declare abstract class OAuth2WithJWKSAuthDesign extends OAuth2AuthDesign {
134
- #private;
135
- get jwksGenerator(): JWKSGenerator;
136
- constructor(jwksStore?: JWKSStore, ttlSeconds?: number);
137
304
  setTokenTTL(ttlSeconds?: number): this;
138
305
  getTokenTTL(): number | undefined;
306
+ setDescription(description: string): this;
307
+ /**
308
+ *
309
+ * @param scopes The scopes of the access request.
310
+ * A map between the scope name and a short description for it. The map MAY be empty.
311
+ * @returns
312
+ */
313
+ setScopes(scopes: Record<string, string>): this;
314
+ getScopes(): Record<string, string> | undefined;
315
+ getStrategyName(): string;
316
+ getDescription(): string | undefined;
317
+ /**
318
+ * Where authentication schemes and strategies are registered.
319
+ */
320
+ integrateStrategy(t: KaapiTools): void;
321
+ }
322
+ export interface JWKSParams {
323
+ jwks: {
324
+ keys: JWK.RawKey[];
325
+ };
326
+ }
327
+ export type JWKSHandler<Refs extends ReqRef = ReqRefDefaults, R extends Lifecycle.ReturnValue<any> = Lifecycle.ReturnValue<Refs>> = (params: JWKSParams, request: Request<Refs>, h: ResponseToolkit<Refs>) => R;
328
+ export interface IJWKSRoute<Refs extends ReqRef = ReqRefDefaults> {
329
+ path: string;
330
+ handler?: JWKSHandler<Refs>;
331
+ }
332
+ export declare class JWKSRoute<Refs extends ReqRef = ReqRefDefaults> implements IJWKSRoute<Refs> {
333
+ static buildDefault<GetRefs extends ReqRef = ReqRefDefaults>(): DefaultJWKSRoute<GetRefs>;
334
+ protected _path: string;
335
+ protected _handler: JWKSHandler<Refs> | undefined;
336
+ get path(): string;
337
+ get handler(): JWKSHandler<Refs, Lifecycle.ReturnValue<Refs>> | undefined;
338
+ constructor(path: string, handler?: JWKSHandler<Refs>);
339
+ }
340
+ export declare class DefaultJWKSRoute<Refs extends ReqRef = ReqRefDefaults> extends JWKSRoute<Refs> {
341
+ constructor();
342
+ setPath(path: PathValue): this;
343
+ validate(handler: JWKSHandler<Refs>): this;
344
+ }
345
+ export interface OAuth2AuthDesignBuilder {
346
+ setJwksKeyStore(keyStore: JwksKeyStore): this;
347
+ setJwksRotatorOptions(jwksRotatorOptions: OAuth2JwksOptions['rotation']): this;
348
+ build(): AuthDesign;
349
+ }
350
+ export declare class OIDCAuthUtil extends OAuth2Util {
351
+ toOpenAPI(): Record<string, SecuritySchemeObject>;
352
+ }
353
+ export interface OAuth2SingleAuthFlow {
354
+ readonly grantType: string;
355
+ handleToken<Refs extends Partial<Record<keyof ReqRefDefaults, unknown>> = ReqRefDefaults>(t: KaapiTools, request: Request<Refs>, h: ResponseToolkit<Refs>): Promise<Lifecycle.ReturnValueTypes<{
356
+ Payload: {
357
+ grant_type?: unknown;
358
+ refresh_token?: unknown;
359
+ scope?: unknown;
360
+ };
361
+ }>>;
362
+ handleRefreshToken?<Refs extends Partial<Record<keyof ReqRefDefaults, unknown>> = ReqRefDefaults>(t: KaapiTools, request: Request<Refs>, h: ResponseToolkit<Refs>): Promise<Lifecycle.ReturnValueTypes<{
363
+ Payload: {
364
+ grant_type?: unknown;
365
+ refresh_token?: unknown;
366
+ scope?: unknown;
367
+ };
368
+ }>>;
369
+ getDiscoveryConfiguration?(t: KaapiTools): Record<string, unknown>;
370
+ registerAuthorizationEndpoint?(t: KaapiTools): void;
371
+ }
372
+ export interface OAuth2SingleAuthFlowBuilder extends OAuth2AuthDesignBuilder {
373
+ setJwksKeyStore(keyStore: JwksKeyStore): this;
374
+ setPublicKeyExpiry(ttl: number): this;
375
+ build(): AuthDesign & OAuth2SingleAuthFlow;
139
376
  }