Basic認証とは
HTTPヘッダのAuthorizationに、エンコードされたIDとパスワードを含めて通信をすることで認証する方式。
暗号化されないBase64という方式でエンコードを行うため、HTTPで使用すると盗聴や改竄をされる恐れがある。
そのため使うときはHTTPSを使うべきであり、本格的な会員サイトなどには使うべきでない。
Digest認証
Basic認証のパワーアップ版
ユーザ名とパスワードをMD5でハッシュ化(暗号化)して送る。
Node.jsでBasic認証をやる方法
//モジュールを参照varauth=require('http-auth');//basic認証の設定varbasic=auth.basic({//認証領域の設定(アクセスしているコンピュータやシステムの簡単な説明)realm:"Access to the staging site"},(username,password,callback)=>{//ユーザー名とパスワードの設定callback(username==="Tina"&&password==="Bullock");});// HTTPサーバーを作っている。http.createServer(basic,(req,res)=>{res.end(`Welcome to private area !`);/*
*
*
* サーバーへのリクエストやサーバーからのレスポンスの設定はここに書く
*
*/}).listen(8000);
この認証を使い、chromeデベロッパーツールのNetwork欄をみると、
ヘッダーをみることができ、Authorizationという部分にエンコードされた
ユーザー名とパスワードがある。
Authorization: Basic Z3Vlc3QxOm5hN2hFcEV3
以上の部分のZ3Vlc3QxOm5hN2hFcEV3をコピーし、
コンソールでユーザ名とパスワードの確認ができる。
$ atob(Z3Vlc3QxOm5hN2hFcEV3)
> "ユーザー名:パスワード"