@mathrunet/masamune_cloudflare 3.1.5 → 3.1.6
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 +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/adapters/firebase_auth_adapter.d.ts +76 -0
- package/dist/lib/adapters/firebase_auth_adapter.js +86 -0
- package/dist/lib/adapters/firebase_auth_adapter.js.map +1 -0
- package/dist/lib/adapters/none_auth_adapter.d.ts +10 -0
- package/dist/lib/adapters/none_auth_adapter.js +18 -0
- package/dist/lib/adapters/none_auth_adapter.js.map +1 -0
- package/dist/lib/src/workers_auth_adapter_base.d.ts +41 -0
- package/dist/lib/src/workers_auth_adapter_base.js +20 -0
- package/dist/lib/src/workers_auth_adapter_base.js.map +1 -0
- package/dist/lib/src/workers_base.d.ts +4 -4
- package/dist/lib/src/workers_base.js +5 -5
- package/dist/lib/src/workers_base.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -13,10 +13,11 @@ import { WorkersBase, WorkersOptions } from "./lib/src/workers_base";
|
|
|
13
13
|
export * from "@mathrunet/masamune";
|
|
14
14
|
export * from "./lib/api";
|
|
15
15
|
export * from "./lib/src/workers_base";
|
|
16
|
-
export * from "./lib/src/
|
|
16
|
+
export * from "./lib/src/workers_auth_adapter_base";
|
|
17
17
|
export * from "./lib/src/workers_data";
|
|
18
18
|
export * from "./lib/src/request_process_workders_base";
|
|
19
|
-
export * from "./lib/
|
|
19
|
+
export * from "./lib/adapters/firebase_auth_adapter";
|
|
20
|
+
export * from "./lib/adapters/none_auth_adapter";
|
|
20
21
|
/**
|
|
21
22
|
* Methods for deploying to Cloudflare Workers.
|
|
22
23
|
*
|
package/dist/index.js
CHANGED
|
@@ -51,10 +51,11 @@ const hono = __importStar(require("hono"));
|
|
|
51
51
|
__exportStar(require("@mathrunet/masamune"), exports);
|
|
52
52
|
__exportStar(require("./lib/api"), exports);
|
|
53
53
|
__exportStar(require("./lib/src/workers_base"), exports);
|
|
54
|
-
__exportStar(require("./lib/src/
|
|
54
|
+
__exportStar(require("./lib/src/workers_auth_adapter_base"), exports);
|
|
55
55
|
__exportStar(require("./lib/src/workers_data"), exports);
|
|
56
56
|
__exportStar(require("./lib/src/request_process_workders_base"), exports);
|
|
57
|
-
__exportStar(require("./lib/
|
|
57
|
+
__exportStar(require("./lib/adapters/firebase_auth_adapter"), exports);
|
|
58
|
+
__exportStar(require("./lib/adapters/none_auth_adapter"), exports);
|
|
58
59
|
/**
|
|
59
60
|
* Methods for deploying to Cloudflare Workers.
|
|
60
61
|
*
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,wBAMC;AA3CD;;;;;;;;;GASG;AACH,2CAA6B;AAG7B,sDAAoC;AACpC,4CAA0B;AAC1B,yDAAuC;AACvC,sEAAoD;AACpD,yDAAuC;AACvC,0EAAwD;AACxD,uEAAqD;AACrD,mEAAiD;AAEjD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,MAAM,CAAC,cAA6B,EAAE,UAA0B,EAAE;IAC9E,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QAClC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { EmulatorEnv, KeyStorer } from "firebase-auth-cloudflare-workers";
|
|
2
|
+
import { Context, MiddlewareHandler } from "hono";
|
|
3
|
+
import { WorkersAuthAdapterBase } from "../src/workers_auth_adapter_base";
|
|
4
|
+
/**
|
|
5
|
+
* Options for Firebase Authentication adapter.
|
|
6
|
+
*
|
|
7
|
+
* Firebase Authenticationアダプターのオプション。
|
|
8
|
+
*/
|
|
9
|
+
export interface FirebaseAuthOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Firebase project ID.
|
|
12
|
+
*
|
|
13
|
+
* FirebaseプロジェクトID。
|
|
14
|
+
*/
|
|
15
|
+
projectId: string;
|
|
16
|
+
/**
|
|
17
|
+
* Store for Firebase public keys.
|
|
18
|
+
*
|
|
19
|
+
* Firebase公開鍵の保存先。
|
|
20
|
+
*/
|
|
21
|
+
keyStore?: KeyStorer | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Whether to check if the ID token was revoked.
|
|
24
|
+
*
|
|
25
|
+
* IDトークンの失効を確認するかどうか。
|
|
26
|
+
*/
|
|
27
|
+
checkRevoked?: boolean | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Emulator environment settings.
|
|
30
|
+
*
|
|
31
|
+
* エミュレーター環境設定。
|
|
32
|
+
*/
|
|
33
|
+
emulatorEnv?: EmulatorEnv | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Seconds to tolerate clock skew.
|
|
36
|
+
*
|
|
37
|
+
* 時刻ずれを許容する秒数。
|
|
38
|
+
*/
|
|
39
|
+
clockSkewSeconds?: number | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Authorization header name.
|
|
42
|
+
*
|
|
43
|
+
* Authorizationヘッダー名。
|
|
44
|
+
*/
|
|
45
|
+
authorizationHeader?: string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Response returned when authentication fails.
|
|
48
|
+
*
|
|
49
|
+
* 認証失敗時に返すレスポンス。
|
|
50
|
+
*/
|
|
51
|
+
unauthorizedResponse?: (context: Context, error?: unknown) => Response | Promise<Response>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Firebase public key store using the Cloudflare Cache API.
|
|
55
|
+
*
|
|
56
|
+
* Cloudflare Cache APIを利用したFirebase公開鍵ストア。
|
|
57
|
+
*/
|
|
58
|
+
export declare class FirebaseCacheApiKeyStorer implements KeyStorer {
|
|
59
|
+
constructor(projectId: string, cacheName?: string);
|
|
60
|
+
private readonly cacheKey;
|
|
61
|
+
private readonly cacheName;
|
|
62
|
+
get<ExpectedValue = unknown>(): Promise<ExpectedValue | null>;
|
|
63
|
+
put(value: string, expirationTtl: number): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Middleware for Firebase Authentication.
|
|
67
|
+
*
|
|
68
|
+
* Firebase Authentication用のミドルウェア。
|
|
69
|
+
*/
|
|
70
|
+
export declare class FirebaseAuthAdapter extends WorkersAuthAdapterBase {
|
|
71
|
+
constructor(options: FirebaseAuthOptions);
|
|
72
|
+
private readonly options;
|
|
73
|
+
build(): MiddlewareHandler;
|
|
74
|
+
private getBearerToken;
|
|
75
|
+
private unauthorized;
|
|
76
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FirebaseAuthAdapter = exports.FirebaseCacheApiKeyStorer = void 0;
|
|
4
|
+
const firebase_auth_cloudflare_workers_1 = require("firebase-auth-cloudflare-workers");
|
|
5
|
+
const workers_auth_adapter_base_1 = require("../src/workers_auth_adapter_base");
|
|
6
|
+
/**
|
|
7
|
+
* Firebase public key store using the Cloudflare Cache API.
|
|
8
|
+
*
|
|
9
|
+
* Cloudflare Cache APIを利用したFirebase公開鍵ストア。
|
|
10
|
+
*/
|
|
11
|
+
class FirebaseCacheApiKeyStorer {
|
|
12
|
+
constructor(projectId, cacheName = "firebase-pubkeys-v1") {
|
|
13
|
+
this.cacheKey = new Request(`https://cache.internal/firebase/pubkeys/${projectId}`);
|
|
14
|
+
this.cacheName = cacheName;
|
|
15
|
+
}
|
|
16
|
+
cacheKey;
|
|
17
|
+
cacheName;
|
|
18
|
+
async get() {
|
|
19
|
+
const cache = await caches.open(this.cacheName);
|
|
20
|
+
const hit = await cache.match(this.cacheKey);
|
|
21
|
+
if (!hit) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return await hit.json();
|
|
25
|
+
}
|
|
26
|
+
async put(value, expirationTtl) {
|
|
27
|
+
const cache = await caches.open(this.cacheName);
|
|
28
|
+
await cache.put(this.cacheKey, new Response(value, {
|
|
29
|
+
headers: {
|
|
30
|
+
"content-type": "application/json",
|
|
31
|
+
"cache-control": `public, max-age=${expirationTtl}`,
|
|
32
|
+
},
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.FirebaseCacheApiKeyStorer = FirebaseCacheApiKeyStorer;
|
|
37
|
+
/**
|
|
38
|
+
* Middleware for Firebase Authentication.
|
|
39
|
+
*
|
|
40
|
+
* Firebase Authentication用のミドルウェア。
|
|
41
|
+
*/
|
|
42
|
+
class FirebaseAuthAdapter extends workers_auth_adapter_base_1.WorkersAuthAdapterBase {
|
|
43
|
+
constructor(options) {
|
|
44
|
+
super();
|
|
45
|
+
this.options = options;
|
|
46
|
+
}
|
|
47
|
+
options;
|
|
48
|
+
build() {
|
|
49
|
+
return async (context, next) => {
|
|
50
|
+
const token = this.getBearerToken(context);
|
|
51
|
+
if (!token) {
|
|
52
|
+
return await this.unauthorized(context);
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const keyStore = this.options.keyStore ?? new FirebaseCacheApiKeyStorer(this.options.projectId);
|
|
56
|
+
const auth = firebase_auth_cloudflare_workers_1.Auth.getOrInitialize(this.options.projectId, keyStore);
|
|
57
|
+
const decoded = await auth.verifyIdToken(token, this.options.checkRevoked, this.options.emulatorEnv, this.options.clockSkewSeconds);
|
|
58
|
+
this.setAuthContext(context, {
|
|
59
|
+
uid: decoded.uid,
|
|
60
|
+
token: decoded,
|
|
61
|
+
});
|
|
62
|
+
await next();
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
return await this.unauthorized(context, error);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
getBearerToken(context) {
|
|
70
|
+
const headerName = this.options.authorizationHeader ?? "Authorization";
|
|
71
|
+
const authorization = context.req.header(headerName);
|
|
72
|
+
if (!authorization) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
const match = authorization.match(/^Bearer\s+(.+)$/i);
|
|
76
|
+
return match?.[1];
|
|
77
|
+
}
|
|
78
|
+
async unauthorized(context, error) {
|
|
79
|
+
if (this.options.unauthorizedResponse) {
|
|
80
|
+
return await this.options.unauthorizedResponse(context, error);
|
|
81
|
+
}
|
|
82
|
+
return context.json({ error: "Unauthorized" }, 401);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.FirebaseAuthAdapter = FirebaseAuthAdapter;
|
|
86
|
+
//# sourceMappingURL=firebase_auth_adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase_auth_adapter.js","sourceRoot":"","sources":["../../../src/lib/adapters/firebase_auth_adapter.ts"],"names":[],"mappings":";;;AAAA,uFAK0C;AAE1C,gFAA0E;AA0D1E;;;;GAIG;AACH,MAAa,yBAAyB;IAClC,YACI,SAAiB,EACjB,YAAoB,qBAAqB;QAEzC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEgB,QAAQ,CAAU;IAClB,SAAS,CAAS;IAEnC,KAAK,CAAC,GAAG;QACL,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,GAAG,CAAC,IAAI,EAAmB,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,aAAqB;QAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,GAAG,CACX,IAAI,CAAC,QAAQ,EACb,IAAI,QAAQ,CAAC,KAAK,EAAE;YAChB,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,mBAAmB,aAAa,EAAE;aACtD;SACJ,CAAC,CACL,CAAC;IACN,CAAC;CACJ;AAjCD,8DAiCC;AAED;;;;GAIG;AACH,MAAa,mBAAoB,SAAQ,kDAAsB;IAC3D,YAAY,OAA4B;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEgB,OAAO,CAAsB;IAE9C,KAAK;QACD,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChG,MAAM,IAAI,GAAG,uCAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACpC,KAAK,EACL,IAAI,CAAC,OAAO,CAAC,YAAY,EACzB,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAChC,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;oBACzB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,KAAK,EAAE,OAA0B;iBACpC,CAAC,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,OAAgB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,eAAe,CAAC;QACvE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,KAAe;QACxD,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACpC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;CACJ;AAlDD,kDAkDC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MiddlewareHandler } from "hono";
|
|
2
|
+
import { WorkersAuthAdapterBase } from "../src/workers_auth_adapter_base";
|
|
3
|
+
/**
|
|
4
|
+
* Adapter that does not perform authentication.
|
|
5
|
+
*
|
|
6
|
+
* 認証を行わないアダプター。
|
|
7
|
+
*/
|
|
8
|
+
export declare class NoneAuthAdapter extends WorkersAuthAdapterBase {
|
|
9
|
+
build(): MiddlewareHandler;
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NoneAuthAdapter = void 0;
|
|
4
|
+
const workers_auth_adapter_base_1 = require("../src/workers_auth_adapter_base");
|
|
5
|
+
/**
|
|
6
|
+
* Adapter that does not perform authentication.
|
|
7
|
+
*
|
|
8
|
+
* 認証を行わないアダプター。
|
|
9
|
+
*/
|
|
10
|
+
class NoneAuthAdapter extends workers_auth_adapter_base_1.WorkersAuthAdapterBase {
|
|
11
|
+
build() {
|
|
12
|
+
return async (_, next) => {
|
|
13
|
+
await next();
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.NoneAuthAdapter = NoneAuthAdapter;
|
|
18
|
+
//# sourceMappingURL=none_auth_adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"none_auth_adapter.js","sourceRoot":"","sources":["../../../src/lib/adapters/none_auth_adapter.ts"],"names":[],"mappings":";;;AACA,gFAA0E;AAE1E;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,kDAAsB;IACvD,KAAK;QACD,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,IAAI,EAAE,CAAC;QACjB,CAAC,CAAC;IACN,CAAC;CACJ;AAND,0CAMC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Context, MiddlewareHandler } from "hono";
|
|
2
|
+
/**
|
|
3
|
+
* Authentication context for Cloudflare Workers.
|
|
4
|
+
*
|
|
5
|
+
* Cloudflare Workersの認証コンテキスト。
|
|
6
|
+
*/
|
|
7
|
+
export interface WorkersAuthContext {
|
|
8
|
+
/**
|
|
9
|
+
* User ID.
|
|
10
|
+
*
|
|
11
|
+
* ユーザーID。
|
|
12
|
+
*/
|
|
13
|
+
uid?: string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Decoded authentication token.
|
|
16
|
+
*
|
|
17
|
+
* デコード済みの認証トークン。
|
|
18
|
+
*/
|
|
19
|
+
token?: {
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
} | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Base class for authentication adapter for Cloudflare Workers.
|
|
25
|
+
*
|
|
26
|
+
* Cloudflare Workers用の認証アダプターのベースクラス。
|
|
27
|
+
*/
|
|
28
|
+
export declare abstract class WorkersAuthAdapterBase {
|
|
29
|
+
/**
|
|
30
|
+
* Create Hono middleware.
|
|
31
|
+
*
|
|
32
|
+
* Honoミドルウェアを作成します。
|
|
33
|
+
*/
|
|
34
|
+
abstract build(): MiddlewareHandler;
|
|
35
|
+
/**
|
|
36
|
+
* Set authentication context.
|
|
37
|
+
*
|
|
38
|
+
* 認証コンテキストを設定します。
|
|
39
|
+
*/
|
|
40
|
+
protected setAuthContext(context: Context, authentication: WorkersAuthContext): void;
|
|
41
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkersAuthAdapterBase = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Base class for authentication adapter for Cloudflare Workers.
|
|
6
|
+
*
|
|
7
|
+
* Cloudflare Workers用の認証アダプターのベースクラス。
|
|
8
|
+
*/
|
|
9
|
+
class WorkersAuthAdapterBase {
|
|
10
|
+
/**
|
|
11
|
+
* Set authentication context.
|
|
12
|
+
*
|
|
13
|
+
* 認証コンテキストを設定します。
|
|
14
|
+
*/
|
|
15
|
+
setAuthContext(context, authentication) {
|
|
16
|
+
context.set("authentication", authentication);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.WorkersAuthAdapterBase = WorkersAuthAdapterBase;
|
|
20
|
+
//# sourceMappingURL=workers_auth_adapter_base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workers_auth_adapter_base.js","sourceRoot":"","sources":["../../../src/lib/src/workers_auth_adapter_base.ts"],"names":[],"mappings":";;;AAuBA;;;;GAIG;AACH,MAAsB,sBAAsB;IAQxC;;;;OAIG;IACO,cAAc,CACpB,OAAgB,EAChB,cAAkC;QAElC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;CACJ;AAnBD,wDAmBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import {
|
|
2
|
+
import { WorkersAuthAdapterBase } from "./workers_auth_adapter_base";
|
|
3
3
|
/**
|
|
4
4
|
* Define Function data for Cloudflare Workers.
|
|
5
5
|
*
|
|
@@ -85,11 +85,11 @@ export declare abstract class WorkersBase {
|
|
|
85
85
|
*/
|
|
86
86
|
export interface WorkersOptions {
|
|
87
87
|
/**
|
|
88
|
-
* Authentication
|
|
88
|
+
* Authentication adapter.
|
|
89
89
|
*
|
|
90
|
-
*
|
|
90
|
+
* 認証アダプター。
|
|
91
91
|
*/
|
|
92
|
-
|
|
92
|
+
auth?: WorkersAuthAdapterBase | null | undefined;
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
95
|
* Merge Workers options.
|
|
@@ -67,8 +67,8 @@ class WorkersBase {
|
|
|
67
67
|
* 認証ミドルウェアを適用します。
|
|
68
68
|
*/
|
|
69
69
|
applyAuthentication(hono, options) {
|
|
70
|
-
if (options.
|
|
71
|
-
hono.use("*", options.
|
|
70
|
+
if (options.auth) {
|
|
71
|
+
hono.use("*", options.auth.build());
|
|
72
72
|
}
|
|
73
73
|
return hono;
|
|
74
74
|
}
|
|
@@ -83,9 +83,9 @@ function resolveWorkersOptions(defaultOptions = {}, options = {}) {
|
|
|
83
83
|
return {
|
|
84
84
|
...defaultOptions,
|
|
85
85
|
...options,
|
|
86
|
-
|
|
87
|
-
? defaultOptions.
|
|
88
|
-
: options.
|
|
86
|
+
auth: options.auth === undefined
|
|
87
|
+
? defaultOptions.auth
|
|
88
|
+
: options.auth,
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
//# sourceMappingURL=workers_base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workers_base.js","sourceRoot":"","sources":["../../../src/lib/src/workers_base.ts"],"names":[],"mappings":";;;AA6HA,sDAWC;AArID;;;;;;;;GAQG;AACH,MAAsB,WAAW;IAC7B;;;;;;;;OAQG;IACH,YAAY,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,OAAO,GAUV;QACG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAS;IAEtB;;;;;OAKG;IACM,IAAI,CAIiB;IAE9B;;;;OAIG;IACM,IAAI,CAAyB;IAEtC;;;;OAIG;IACM,OAAO,CAAiB;IASjC;;;;OAIG;IACO,cAAc,CAAC,iBAAiC,EAAE;QACxD,OAAO,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACO,mBAAmB,CAAC,IAAU,EAAE,OAAuB;QAC7D,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"workers_base.js","sourceRoot":"","sources":["../../../src/lib/src/workers_base.ts"],"names":[],"mappings":";;;AA6HA,sDAWC;AArID;;;;;;;;GAQG;AACH,MAAsB,WAAW;IAC7B;;;;;;;;OAQG;IACH,YAAY,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,OAAO,GAUV;QACG,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAS;IAEtB;;;;;OAKG;IACM,IAAI,CAIiB;IAE9B;;;;OAIG;IACM,IAAI,CAAyB;IAEtC;;;;OAIG;IACM,OAAO,CAAiB;IASjC;;;;OAIG;IACO,cAAc,CAAC,iBAAiC,EAAE;QACxD,OAAO,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACO,mBAAmB,CAAC,IAAU,EAAE,OAAuB;QAC7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA5FD,kCA4FC;AAgBD;;;;GAIG;AACH,SAAgB,qBAAqB,CACjC,iBAAiC,EAAE,EACnC,UAA0B,EAAE;IAE5B,OAAO;QACH,GAAG,cAAc;QACjB,GAAG,OAAO;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS;YAC5B,CAAC,CAAC,cAAc,CAAC,IAAI;YACrB,CAAC,CAAC,OAAO,CAAC,IAAI;KACrB,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED