Firebase Authenticationの簡単な使い方
- 作成日 2020.03.03
- 更新日 2020.03.18
- firebase
- Authentication, firebase
FirebaseのAuthenticationを利用して、ユーザー登録とログイン機能を実装する簡単なサンプルコード
ローカル環境
- OS windows10 pro
- node V10.16.3
- npm 6.9.0
- firebase CLI 7.11.0
※firebase CLIのインストールはこちら
Authentication作成
今回は、メールアドレス認証を設定します。
左にあるAuthenticationをクリックして下さい
「ログイン方法を設定」をクリックします。
メール/パスワードをクリックします。
有効にするに設定し、「保存」ボタンをクリックします。
※パスワードなしでログインは有効にしてません。
有効になっていることを確認します。
新規登録処理
設定が終わったので、メールでの新規登録を行うためのサンプルコードを作成します。
下記のコードで、firebase initで作成したpublic配下のindex.htmlを編集します。
※web app’s Firebase configurationの追加方法はこちら
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Welcome to Firebase Hosting</title>
<style media="screen">
body { background: #ECEFF1; color: rgba(0,0,0,0.87); font-family: Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; }
#message { background: white; max-width: 360px; margin: 100px auto 16px; padding: 32px 24px; border-radius: 3px; }
#message h2 { color: #ffa100; font-weight: bold; font-size: 16px; margin: 0 0 8px; }
#message h1 { font-size: 22px; font-weight: 300; color: rgba(0,0,0,0.6); margin: 0 0 16px;}
#message p { line-height: 140%; margin: 16px 0 24px; font-size: 14px; }
#message a { display: block; text-align: center; background: #039be5; text-transform: uppercase; text-decoration: none; color: white; padding: 16px; border-radius: 4px; }
#message, #message a { box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); }
#load { color: rgba(0,0,0,0.4); text-align: center; font-size: 13px; }
@media (max-width: 600px) {
body, #message { margin-top: 0; background: white; box-shadow: none; }
body { border-top: 16px solid #ffa100; }
}
</style>
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-auth.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script>
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "XXXXXXXXXXXXXXXXXXXXXXXX",
authDomain: "XXXXXX.firebaseapp.com",
databaseURL: "https://XXXXXX.firebaseio.com",
projectId: "XXXXXX",
storageBucket: "XXXXXX.appspot.com",
messagingSenderId: "XXXXXX",
appId: "XXXXXXXXXXXXXXXXXXXXXXXX"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
</script>
</head>
<body>
<div id="message">
<div>
メールアドレス<input id="mail" type="mail" required/>
</div>
<div>
パスワード<input id="password" type="password" required/>
</div>
<button id="login">ログイン</button>
<button id="register">新規登録</button>
</div>
<script>
//新規登録処理
register.addEventListener('click', function(e) {
var mail = document.getElementById('mail').value;
var password = document.getElementById('password').value;
firebase.auth().createUserWithEmailAndPassword(mail, password)
.catch(function(error) {
alert('登録できませんでした(' + error.code + error.message + ')');
});
});
//ログイン処理
login.addEventListener('click', function(e) {
var mail = document.getElementById('mail').value;
var password = document.getElementById('password').value;
firebase.auth().signInWithEmailAndPassword(mail, password)
.then(user => {
alert("ログイン成功");
}, err => {
alert("ログインできませんでした");
});
});
</script>
</body>
</html>
実行します。
firebase serve
ブラウザから http://localhost:5000 にアクセスすると、下記の画面が表示され、メールアドレスに適当なメールアドレスを入力し、パスワードを設定後に、「新規登録」ボタンをクリックすれば、新規登録が行われます。
Firebase側を確認すると、さきほど登録したメールアドレスが登録されていることが確認できます。
次に、先程登録したメールアドレスでログインしてみます。
登録したメールアドレスを入力し、ログインボタンをクリックすると、ログイン成功のアラートが表示されます。
-
前の記事
HTTrackを使ってWEBサイトからhtmlファイルやCSS、画像をダウンロードする 2020.03.03
-
次の記事
React.js ライブラリ「react-dates」を使用してカレンダーを実装する 2020.03.03
コメントを書く