跳到主要內容

發表文章

目前顯示的是 8月, 2022的文章

firebase 1:簡介

  firebase 是 Google 推出的網站整合性服務,提供認證(Authentication)、資料庫(Realtime Database、Firebase Database)、雲端空間(Storage、Functions、Extensions)、網頁空間(Hosting)、雲計算(Machine Learning)…等。 相關網站: Google Firebase Console  https://console.firebase.google.com/ 文件: https://firebase.google.com/docs?authuser=0&hl=zh 參考資料: Firebase 教學 - Firestore 安裝、寫入和讀取  https://www.oxxostudio.tw/articles/201905/firebase-firestore.html Firebase 教學 - 簡單的使用者註冊功能  https://www.oxxostudio.tw/articles/201905/firebase-simple-signup.html Firebase 教學 - RealTime Database 安裝與使用  https://www.oxxostudio.tw/articles/201904/firebase-realtime-database-start.html Day29 前端福音(4/4): Firebase-帳號系統&資料讀寫規則  https://ithelp.ithome.com.tw/articles/10206354 Firebase網頁教學[二] - 驗證篇  http://sj82516-blog.logdown.com/posts/1050619 用 Firebase Authentication 做一套簡易會員系統 – 電子郵件 密碼  https://www.letswrite.tw/firebase-auth-email/ 利用 Firebase Authentication 來實現註冊帳號和登入的功能  https://franksios.medium.com/ios-%E5%88%A9%E7%94%A8firebase%E4%BE%86%E5%AF%A6%E7%8F%BE%E8%A8

網頁引入相機及QRCode判讀

 之前有寫過實名制及報名網站內含 QRCode 的判讀功能,使用 Intascan 及 Webrtc 的 javascript 模組。 參考資料:[day14]-使用網頁開啟相機掃描QR Code-instascan介紹+實際應用( https://ithelp.ithome.com.tw/articles/10206308 ) Instscan: https://github.com/schmich/instascan Webrtc: https://github.com/webrtc/adapter 網頁 html 上半部是掃描結果訊息顯示的部份,result_icon 用 materical design icons 顯示各個圖示;scan_text 顯示掃描結東;result_text 顯示文字化結果。 下半以 video 顯示 WebRTC 從 Camera 擷取的畫面,並由 Instascan 依此資料判讀 QRCode 資訊。camera_select 作為切換 Camera 的功能。 Javascript <script>         let precode = '';         let res = '';         let audio = new Audio('audio_beep.mp3');         let scanner = new Instascan.Scanner({             video: document.getElementById('preview'),             mirror: false         });         scanner.addListener('scan', function(content) {             audio.play();             document.getElementById('scan_text').innerHTML = content;             let result_arr = content.split('-');             let theyear=

CI4 + Google Oauth2

因自己在教育處寫的系統無法使用 SSO OpenID 的認證服務,所以改以使用 Google OAuth2.0 作 gm.kl.edu.tw 網域帳號的認證。不過,後來發現把這一部份研究清楚也很有好處,首先不會受限於一定要是 OpenID 帳號才能使用的系統,因為現實面上有很多老師和承辦還是不習慣使用 OpenID 附帶的 gm.kl.edu.tw 帳號;再後來用了 firebase 服務後,更可以擴大到更廣的 OAuth(如FB、Github…等)。  Google API 提供 OAuth2.0 的帳號認證服務,主要的功能是提供網頁系統可以認證 Google 帳號,並提供認證帳號的基本資訊。 Google Cloud 網址: https://console.cloud.google.com/ 在CI4要使用 Google OAuth2.0須先在 CI4 系統中安裝 「Google APIs Client Library for PHP」 composer require google/apiclient:^2.12.1 認證程式參考資料:Login with Google for Codeigniter  https://github.com/angel-of-death/Codeigniter-Google-OAuth-Login Google Cloud API 設定 1. 到 Google Cloud 建立專案 2. 在專案的 「API和服務」功能下建立 OAuth2.0用戶端憑證: 用戶端憑證有兩種情形:內部及外部。 「內部」表可以直接使用來認證與專案同網域的帳號,「外部」表可以用來認證任何網域的 Google 帳號,但需要經過 Google 的程式審查,我還沒試過!後來用了 firebase 後就可認證其他網域的帳號了。 在憑證的設定中,最重要的已授權的重新導向URI的部份,也就是一般的 Call Back URI,成功經過 Google 認證後會自動導向的網址,並會附帶 token,利用這個 token 就可以進一步取得使用者的基本資訊。 而同時有好幾個網站都用這一個用戶端憑證時(基本上我寫的所有網站都是用這個憑證…),要如何分辨是哪個網站來的?要回去哪邊? 就是用設定來指定 redirectURI: 我採用上述的範例程式改的,所以設定檔是放在 Ap