2023-06-15
#js 

「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のみです。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS