「JWT.js」
HTTPリクエストをクライアントからサーバーに送るウェブAPI。セッションを使わないユーザー識別方法、
JWT(JSON Web Tokens)をDenoとESモジュールで実装してみました。
使い方は簡単。クライアントではJWTクラスを生成して、fetchJSONするだけ!
import { JWT } from "https://code4fukui.github.io/JWT/JWT.js";
const jwt = new JWT();
console.log(await jwt.fetchJSON("/api/", { data: "something" }));
サーバー側のプログラムをDenoを使って実装します。
import { serveAPI } from "https://code4fukui.github.io/wsutil/wsutil.js";
serveAPI("/api/", async (param, req, path, conninfo) => {
return "ok";
});
このベースのサーバープログラムに、JWTをパースする処理を加えて、何かデータを返せばできあがり!
import { serveAPI } from "https://code4fukui.github.io/wsutil/wsutil.js";
import { JWT } from "https://code4fukui.github.io/JWT/JWT.js";
serveAPI("/api/", async (param, req, path, conninfo) => {
param = JWT.parseToken(param);
return param;
});
jwtの公開鍵(pubkey)でユーザー識別が可能です。
JWT.jsの対応電子署名アルゴリズムは、EdDSAのみです。