Node.js
UIの作成
アプリケーションは pug テンプレートエンジン でページをHTMLとしてレンダリングする。
というフォルダに views アプリケーション・ディレクトリに以下のテンプレートを作成する:
layout.pug
doctype html
html
head
block head
meta(charset='utf-8')
title Step-up Authentication Example
link(rel='stylesheet', type='text/css', href='/css/style.css')
link(href='https://fonts.googleapis.com/css?family=Open+Sans:300', rel='stylesheet', type='text/css')
body
block content
.container
index.pug
extends layout.pug
block content
h1 #{brand} Account Management!
if number
p You have verified your identity using the phone number #{number} and are now permitted to make changes to your account.
a(href="cancel")
button.ghost-button(type="button") Cancel
else
p Please verify your account to make changes to your settings.
a(href="authenticate")
button.ghost-button(type="button") Verify me
authenticate.pug
extends layout.pug
block content
h1 Account Verification: Step 1
fieldset
form(action='/verify', method='post')
input.ghost-input(name='number', type='text', placeholder='Enter your mobile number', required='')
input.ghost-button(type='submit', value='Get Verification Code')
entercode.pug
extends layout.pug
block content
h1 Account Verification: Step 2
fieldset
form(action='/check-code', method='post')
input.ghost-input(name='code', type='text', placeholder='Enter your verification code', required='')
input.ghost-button(type='submit', value='Verify me!')
最後に style.css での public/css ディレクトリに以下のスタイル・シートが含まれている:
body {
width: 800px;
margin: 0 auto;
font-family: 'Open Sans', sans-serif;
}
.container {
width: 600px;
margin: 0 auto;
}
fieldset {
display: block;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
-webkit-padding-before: 0em;
-webkit-padding-start: 0em;
-webkit-padding-end: 0em;
-webkit-padding-after: 0em;
border: 0px;
border-image-source: initial;
border-image-slice: initial;
border-image-width: initial;
border-image-outset: initial;
border-image-repeat: initial;
min-width: -webkit-min-content;
padding: 30px;
}
.ghost-input, p {
display: block;
font-weight:300;
width: 100%;
font-size: 25px;
border:0px;
outline: none;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
color: #4b545f;
background: #fff;
font-family: Open Sans,Verdana;
padding: 10px 15px;
margin: 30px 0px;
-webkit-transition: all 0.1s ease-in-out;
-moz-transition: all 0.1s ease-in-out;
-ms-transition: all 0.1s ease-in-out;
-o-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out;
}
.ghost-input:focus {
border-bottom:1px solid #ddd;
}
.ghost-button {
font-size: 15px;
color: white;
background-color: blue;
border:2px solid #ddd;
padding:10px 30px;
width: 100%;
min-width: 350px;
-webkit-transition: all 0.1s ease-in-out;
-moz-transition: all 0.1s ease-in-out;
-ms-transition: all 0.1s ease-in-out;
-o-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out;
}
.ghost-button:hover {
border:2px solid #515151;
}
p {
color: #E64A19;
}
ステップアップ認証
ユーザーが機密性の高いタスクを実行する際に、セキュリティのレイヤーを追加する。
手順
1
はじめに2
Node.jsアプリケーションの作成3
依存関係を初期化する4
アプリケーションの設定5
ルートを定義する6
UIの作成7
ホームページを表示する8
検証リクエストの送信9
認証コードを確認する10
お試しあれ!11
次はどうする?