Skip to content

ログインしているTwitterアカウントが、N高等学校またはS高等学校の生徒のものであることをGoogleアカウントを使って証明するFirebaseを利用するWebアプリケーション (ISC LICENSE)

Notifications You must be signed in to change notification settings

sifue/n-high-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

db810db · Apr 16, 2022

History

32 Commits
Apr 15, 2022
Apr 15, 2022
May 14, 2019
May 14, 2019
Apr 16, 2022
Apr 15, 2022
May 14, 2019
May 17, 2019
May 14, 2019
May 14, 2019

Repository files navigation

N/S高生証明bot

ログインしているTwitterアカウントが、N高等学校またはS高等学校の生徒のものであることをGoogleアカウントを使って証明するFirebaseを利用するWebアプリケーション。

なおTwitterと通信するので、Firebaseの課金設定はFlameかBlazeにする必要がある。 Blazeがおおすすめで、一日の課金額設定を ドキュメント を見ながらしておくとよい。開発程度では無料枠を超えない。

Firebaseの環境整備方法

公式のGet Startedを参照。

利用サービスは

  • Hosting
  • Funcitons
  • Firestore

GitHub Actionsは使っていない。

その後

firebase init

にて適切な更新設定を行う。

環境変数設定

firebase functions:config:set nhighauth.secret="トークン暗号化のためのシークレット"  twitter.consumer_key="TwitterAPI操作に使うTwitterのコンシュマーキー" twitter.consumer_secret="TwitterAPI操作に使うTwitterのコンシュマーシークレット" twitter.access_token_key="TwitterAPI操作に使うTwitterのアクセストークンキー" twitter.access_token_secret="TwitterAPI操作に使うTwitterのアクセストークンシークレット"

以上で設定し、以下で環境変数の設定を確認

firebase functions:config:get

デバッグ方法

functionsは本番環境のものを利用する。functionsをデプロイしてローカル実行。 firebase deploy で全デプロイをする。

firebase logout
firebase login
firebase deploy
firebase serve --only hosting -o 0.0.0.0

特定のfunctionsだけデプロイの時は、

firebase deploy --only functions:checkTweetable

などを使う。あとはコードを修正する。SPAとしての遷移が多いので、ブレークポイントやconsole.logを多用してデバッグが必要。あと変数がconstからvarに変更になったのは、モバイルSafari対応のため。

Datastore ルール

functionsにおいてAdminのみがDatastoreを読み書きできるように変更。コンソール上でこれを設定しないとだれでもDatastoreを変更できてしまう。

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}

LICENSE

ISC license

Copyright

Copyright © 2019- Soichiro Yoshimura All Rights Reserved.

About

ログインしているTwitterアカウントが、N高等学校またはS高等学校の生徒のものであることをGoogleアカウントを使って証明するFirebaseを利用するWebアプリケーション (ISC LICENSE)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published