[S18_WebFund] Lab7&8 資工三乙 404262614 許孟傑

Group content visibility: 
Use group defaults
Groups audience: 

Lab7 Lab8 一起做

1. 截圖與說明

Lab 7部份

Lab 7部份統整說明:使用Facebook Auth完成網站登入,第一張圖為API使用證明,第二張為透過Laravel/Socialite在實作Facebook Auth後的簡易帳號辦理手段,第三張圖為實作結果(右上方已變換成Facebook名稱)。

Lab 8部份

Lab 8部份統整說明:使用Laravel實作簡易的部落格系統,透過簡易的註冊手續成為會員後,可以在Dashboard實行新增,修改,刪除,查詢自己的文章,背景資料表只是證明此網站怎樣調度資料庫使用。


2. 心得

Laravel具備比較系統化的網站規劃,所以這次就拿來實作基本的blog系統,並嘗試加入Facebook登入的功能。

相對於直接操作資料庫,laravel提供ORM系統供我們以物件的方式操作資料庫,所以在開發上可以省下一些資料庫存取語法撰寫的時間。也就是說我可能騰出比較多的時間去實作有關前端的介面以及其他功能的呈現。

加入facebook的登入功能除了使用套件來完成基底以外,也要將他的API與你的網站功能綁在一起。除了基本的redirect與callback兩個對外接口,我建立了一個服務讓網站可以在接受callback後完成登入手續。

在佈署網站上,我花了一些時間篩選可以使用https的免費架站區,這是因為facebook在實作auth redirect的時候必須走https途徑。只是有些網站即使有https,但在facebook redirect的callback會觸犯使用上限而導致功能運作失敗。

由於laravel會使用完整的domain作為網址基底,在我的lionfree, heroku仍在使用的狀況下,我必須嘗試一些其他的空間。不過在選擇這個空間時確發現他的憑證是自我簽署,讓我花了不少時間嘗試了各類型的簽署,總歸一句就是:沒辦法ssh的free套餐總會有一些礙手的地方。


3. 網址

https://s18webfundblog.rf.gd/

使用前請詳讀以下注意事項,若遇到的問題非注意事項說明的部份,請透過Facebook訊息回覆我。


4. 注意事項

由於此服務提供商(Infinity Free)在https架設上使用self signed進行簽證,透過以下兩種方式簽證也失敗了。

  1. 使用Let's encrypt簽證:無法通過sslhostfree.com的challenge3,而且官方野生稱無法使用此簽證。
  2. 使用Comodo簽證:此服務只能簽證domain,這類型的服務網站只會給subdomaiin讓你架設。

若要嘗試使用facebook登入請務必將此網站加入例外才能使用,以下是兩種瀏覽器的加入例外方法。

  1. Firefox: 進入網站後,點選進階→新增例外網站→加入例外網站。
  2. Chrome: 進入網站後,點選進階→繼續前往 s18webfundblog.rf.gd 網站 (不安全)