Laravel Sanctum 筆記
Laravel Sanctum 主要是針對 SPA 、行動應用程式和基於憑證的 API 提供的一個輕量級身份驗證系統。Sanctum 讓每一個應用程式的使用者可以產生多個 API 憑證。這些憑證可以授權功能、範圍執行特定操作。
讓我們的 API 提供支援 SPA、行動應用、第三方 API 一個 Token 認證保護機制。
Laravel Sanctum 主要是針對 SPA 、行動應用程式和基於憑證的 API 提供的一個輕量級身份驗證系統。Sanctum 讓每一個應用程式的使用者可以產生多個 API 憑證。這些憑證可以授權功能、範圍執行特定操作。
讓我們的 API 提供支援 SPA、行動應用、第三方 API 一個 Token 認證保護機制。
首先,介面(Interface)是物件導向的基礎,在 Laravel 中,介面被用來定義規範 Contracts ,即規定類別 class 必須實作的方法。讓我們可以建立彈性且模組化的程式碼且容易維護和測試。
本文我們將探索如何在 Laravel 中使用介面實作,如何為 Service 定義介面,使用相依注入 DI(Dependency Injection) ,繫結 Service 到應用程式 Container。
另外補充;``Factory` 工廠模式是一種建立物件的設計模式,主要用途除了生成測試資料還可以協助「相依注入」建立需要的物件。上面幾個概念將有助於我們實現更具可維護性,可讀性的程式碼。
Laravel Passport 提供了 Laravel 應用程式完整的 OAuth2 伺服器實作整合。Passport 是基於 League OAuth2 Server 套件建置。
如果您還不知道何謂 OAuth2,在繼續之前,請先熟悉 OAuth2 的一般術語和功能。
本文僅針對 macOS 環境,全文目標為部署一個 Laravel 10 專案至 GKE。
由於專案已經陸續採用 Laravel Jetstream 並且遇到一個需求; 根據使用的類型在登入時導向不同路由。想像一個情境,您有一般使用者和管理員,而管理員擁有後台功能。通常可能會需要將管理員導向後台介面。
使用 Laravel Jetstream 或 Fortify,要實作這個功能並不直覺,特別是使用兩階段驗證。
若您只想參考如何快速整合 Laravel + TypeScript + TinyMCE 範例可直接至最下方該節。
TinyMCE 使用 Image Uploader 上傳編輯圖片。這讓 TinyMCE 支援了圖片編輯的功能。通過其他方式加入的本地圖片也使用這個功能上傳。例如使用 paste_data_images設定搭配拖拉圖片,或使用 PowerPaste 套件,TinyMCE 會自動更新 <img> 的 src 屬性。
本文為官方文件翻譯,如使用其他前端框架可參考官方
SSR 支援提前渲染造訪的頁面,並且回傳渲染的 HTML 到瀏覽器。這讓造訪者可以在資源完整載入之前看到並和頁面互動,另外提供的好處像是減少搜尋引擎分析建置索引的時間,優化 SEO。
理論上 Sitemap 協助搜尋引擎的網頁爬蟲發現您網站所有的頁面。Google 文件有詳細說明
如果您網站的頁面都有正確的連結,爬蟲通常可以發現全部的頁面。即便如此,Sitemap 也可以改善網頁抓取尤其是您的網站滿足下拉條件之一時:
- 您的網站非常大。因此 Google 爬蟲有可能會忽略抓取一些最近更新的頁面
- 您的網站有大量內容頁面存檔。這些頁面屬於獨立頁面或沒有被妥善連結。如果您的網站本身每個頁面沒有做好參考關聯,您可以將他們列在 Sitemap 上來確保 Google 不會忽略它們。
- 您的網站是新網站,當下幾乎沒有外部連結。Google Bot 和其他爬蟲是根據某個頁面的連結來找到另一個頁面的。如果外部沒有任何連結,結果就是 Google 可能根本沒有發現您的頁面。
- 您的網站使用大量媒體內容,顯示在 Google News 或其他網站相容的 Sitemap 註記
本文為 Laravel 7 — Socialite in Action ( Social Media Login Integration with Facebook, Twitter, LinkedIn, Google) 之更新簡化版本。省略大部分說明只提供步驟紀錄。詳細說明請參考原文。