AmazonのWeb Services、AWSでは、いろいろなウェブに関するサービスが提供されています。
ストレージサービス
S3 に続き、今回は認証サービス
Cognito を使ってみました。
「
Cognito」
ユーザIDやパスワードの管理、メールによる確認など認証に関するいろいろをやってくれます。
Denoで使えるCognito用のライブラリを探してみましたが、どうにもなさそうなので、ひとまずnode.jsで動くものをプロセスとして起動する形でDenoと接続。
下記のようなコードで、Denoでユーザー管理が動きます。
import { CertificateCognito } from "./CertificateCognito.js";
const ct = await new CertificateCognito().init();
const user = "111";
const pass = "kChdX3s*_acheu0A!";
const pass2 = pass + "2";
const res = await ct.regist(user, pass);
console.log(res);
const token = await ct.login(user, pass);
console.log("token", token);
const userchk = await ct.check(token);
console.log(user, userchk);
const cp = await ct.changePassword(user, pass, pass2);
console.log(cp);
const token2 = await ct.login(user, pass2);
console.log("token2", token2);
const res3 = await ct.logout(token2);
console.log(res3)
const resrm = await ct.remove(user);
console.log(resrm)
使い方は、README.md 参照。(src on GitHub)
Denoネイティブ化は、Issueにあげておきます。