生JS(EC6)を3ヶ月ほど叩き込んだ後、HTMLとCSSを一通り学び、Node.jsでログイン処理を実装してみました。
【実装環境】
* Node.jsのStable版をインストール
* 実装が便利になるということで、Expressを導入。
* Vagrant上で8001のポートを空けて作業
Nodeでログイン処理を行うにあたり、
機能を追加した結果が以下の通り。
"dependencies": {
"body-parser": "^1.19.0",
"ejs": "^3.1.3",
"express": "^4.17.1",
"express-session": "^1.17.1",
"request": "^2.88.2"
}
Step1
ID、パスワードが入力され、POSTされるまで
処理のスクリプトを書いているファイル内の処理。
ブラウザで/loginが叩かれた際、login.htmlをレンダリング。
// /loginが開かれた場合の処理
app.get('/login', function (req, res) {
res.render('login.html', {err:""});
req.session.name = "";
})
この画面で「ログイン」ボタンを押すと、/loginSend
にPOSTする。
<form action="/loginSend" method="POST">
メールアドレス:<input type="text" name="mail" >
<br>
パスワード :<input type="text" name="password">
<br>
<br>
<input type="submit" value="ログイン" >
</form>
Step2
POSTされたデータを処理する
・ここで入力されたID/パスワードを、データベースに取得する
(その際にパスワードはハッシュ化してID/ハッシュ化されたパスワードの組み合わせを取得する)
・正常なログインができた際、セッション情報を付与する。
`//アイパス一致すれば、Main画面をレンダリングする。
if (result["結果"] === "OK"){
res.render('main.html');
req.session.mail = result["user_id"];
req.session.name = result["user_name"];
}`
執筆中..