線上活動學習

《線上授課》精通 OAuth 2.0 授權框架

4,255
34
2023.04.15 (Sat) 09:30 - 04.22 (Sat) 16:30 (GMT+8)加入行事曆

此活動為線上活動,購票後可於票券頁進入直播連結

本課程使用 Zoom 進行

線上活動

此為線上活動,不受地點限制,輕鬆享受活動樂趣!

本課程使用 Zoom 進行

本課程將由淺入深帶領學員融會貫通 OAuth 2.0 授權框架,從理論到應用,幫助你建構最正確、最完整的知識架構,讓抽象的觀念不再抽象。本課程將搭配大量的練習項目,幫助你完整理解 OAuth 2.0 的授權流程,並且可以藉此變化出各式各樣的應用情境。
本課程將由淺入深帶領學員融會貫通 OAuth 2.0 授權框架,從理論到應用,幫助你建構最正確、最完整的知識架構,讓抽象的觀念不再抽象。本課程將搭配大量的練習項目,幫助你完整理解 OAuth 2.0 的授權流程,並且可以藉此變化出各式各樣的應用情境。

線上活動

此為線上活動,不受地點限制,輕鬆享受活動樂趣!

本課程使用 Zoom 進行

活動簡介

☸ 課程介紹

       OAuth 是一份開放式授權標準 (RFC 6749),它允許使用者在使用第三方應用程式存取自己儲存在特定網站上的私密資源,而無需將帳號與密碼提供給第三方應用程式。目前你可以聽過的所有知名網路服務如 Google, Microsoft, Facebook, Twitter, Dropbox, … 等網站,只要可以整合第三方應用程式,幾乎都提供 OAuth 授權框架,其重要性不言可喻。

       有鑑於我這幾年實作過不少 OAuth 2.0 相關應用,也看過許多錯誤的實作不安全的設計,無論是 OAuth 用戶端或 OAuth 提供者端,對於第一次接觸的開發者來說,都是個不小的門檻。因為 OAuth 2.0 有許多複雜難懂的角色定義、授權流程、擴充方式,不同的服務提供者之間也都有一些細微的差異,且各家網路服務提供者對於第三方應用程式的管理邏輯也不盡相同,這對於首次接觸 OAuth 2.0 的開發者來說,更加帶來不小的學習壓力。我最常看見的應用方式,都是套用現成的開發套件,感覺很輕鬆的套用 OAuth 2.0 授權流程,但是只要流程稍微擴充一點,套件就不能用了,不能用又改不動,就會感覺很痛苦,不知道自己做的對不對。

       這堂課的設計初衷,就是希望可以替開發人員帶來全面且完整的 OAuth 2.0 知識架構,並且透過串接多家 OAuth 2.0 服務提供者的過程,不斷驗證自己所吸收的觀念是否完整理解,也同時得知多家 OAuth 2.0 提供者不同的特性與設計邏輯,更加深入的理解 OAuth 2.0 確切的運作方式,讓自己有能力自行實作出完整的 OAuth 2.0 應用。

☸ 課程特色

  • 本課程包含大量實作練習,確保學員能深刻理解技術細節
  • 學員可以在不依賴開發框架的情況下實作出完整 OAuth 2.0 授權流程
  • Will 保哥 全程線上授課,無地域限制,可即時回應學員任何疑惑
  • 學員可透過多種管道提問:FB 社團、Zoom 聊天室、Zoom 共享桌面
  • 學員可透過共享螢幕的方式提問與遠端控制,學員可觀摩解決問題的過程
  • 課程全程錄影,學員課後 3 個月內可免費無限次重播!
  • 課程結束寄發 Will 保哥親筆簽名結業證書 (無價)

☸ 課程編號

  • DCT-112003

☸ 課程日期

  • 2023/04/15、04/22 (六) (共兩天)
  • 09:30 ~ 16:30 (中午休息一小時)

☸ 課程主題

  • 基礎 OAuth 2.0 觀念建立 
    • 簡介 OAuth 2.0
      • 傳統應用程式的授權流程與其問題
      • 認識 OAuth 2.0 重要的角色定義
      • 理解 OAuth 2.0 的授權流程
      • 認識 Access Token / Bearer Token / Refresh Token
    • 深入理解 OAuth 2.0 授權流程
      • 授權碼 (Authorization Code)
      • 隱含授權 (Implicit)
      • 密碼認證 (Resource Owner Password Credentials) (ROPC)
      • 用戶端認證 (Client Credentials)
      • 裝置授權 (Device Code)
      • 瞭解原生應用程式的授權流程
    • 認識 OpenID Connect (OIDC) 認證協議
      • 理解 OpenID Connect 的角色定義
      • 理解 OpenID Connect 的主要運作流程
      • 認識 ID Token
      • 認識 JSON Web Token (JWT)
      • 理解 Claims (聲明資訊) 代表的意義
  • 實戰 OAuth 2.0 授權流程(用戶端)
    • 用戶端註冊
    • 取得協定端點
    • 取得授權與 Access Token
    • 實作時的安全性要點整理
      • 實作 Web 應用程式的安全性要點
      • 實作純前端 SPA 應用程式的安全性要點
      • 實作原生應用程式的安全性要點 (桌面應用程式/行動版 App)
  • 實戰 OAuth 2.0 授權流程(服務提供者)
    • 核發 Access Token 的注意事項
    • 換發 Access Token 的注意事項 ( Refresh Token )
    • 存取資源伺服器的實作要點
  • 課程中會用到的練習主題 (部分練習將會以回家作業的方式自行實作)
    • 透過 Microsoft Graph 理解 OAuth 2.0 授權流程
      • 理解 Application 與 Delegated 的差異
      • 實作授權碼流程 (Authorization Code Grant Type Flow)
      • 實作隱含授權流程 (Implicit Grant Type Flow)
      • 實作密碼認證流程 (ROPC Grant Type Flow)
      • 實作用戶端認證流程 (Client Credentials Grant Type Flow)
      • 實作代理者授權流程 (On-Behalf-Of Flow)
      • 實作裝置授權流程 (Device Authorization Grant Flow)
    • 透過 Google APIs 理解 OAuth 2.0 授權流程
              - 實作授權碼流程 (Authorization Code Grant Type Flow)
              - 實作隱含授權流程 (Implicit Grant Type Flow)
    • 透過 Azure REST APIs 理解 OAuth 2.0 授權流程
      • 實作授權碼流程 (Authorization Code Grant Type Flow)
      • 實作用戶端認證流程 (Client Credentials Grant Type Flow)
    • 透過 Facebook API 理解 OAuth 2.0 授權流程
      • 實作授權碼流程 (Authorization Code Grant Type Flow)
      • 實作隱含授權流程 (Implicit Grant Type Flow)
      • 實作裝置授權流程 (Device Authorization Grant Flow)
    • 透過 GitHub API 理解 OAuth 2.0 授權流程
      • 實作授權碼流程 (Authorization Code Grant Type Flow)
      • 實作裝置授權流程 (Device Authorization Grant Flow)
    • 透過 Dropbox API 理解 OAuth 2.0 授權流程
      • 實作授權碼流程 (Authorization Code Grant Type Flow)
      • 實作隱含授權流程 (Implicit Grant Type Flow)
    • 透過 LINE Login 與 LINE Notify 理解 OAuth 2.0 授權流程
      • 實作授權碼流程 (Authorization Code Grant Type Flow)
    • 透過 Twitter API 理解 OAuth 2.0 授權流程
      • 實作授權碼流程 (Authorization Code Grant Type Flow)
  • 開發框架示範
    • 使用 ASP.NET Core 6.0 實作 OAuth 2.0 用戶端應用程式
    • 使用 Java Spring Boot 實作 OAuth 2.0 用戶端應用程式
    • 使用 Angular 實作 OAuth 2.0 用戶端應用程式
    • 使用 IdentityServer4 實作 OAuth 2.0 / OIDC 提供者

☸ 適合對象

  • 想一次搞懂 OAuth 2.0 的開發人員
    • 以網站建置為主的開發人員
    • 以行動版 APP 為主的開發人員
    • 以桌面應用程式為主的開發人員
    • 需要串接第三方 OAuth 2.0 授權流程的開發人員
  • 學員應具備基本 HTTP 操作能力
    • 本課程盡量不牽涉各種前後端框架或程式語言
    • 部分作業需要學員自行實作 OAuth 2.0 授權過程
    • 本課程不適合完全沒有 Web 開發經驗的人
    • 建議事先看過我的 初學者都該學會的 HTTP 通訊協定基礎 直播影片
    • 需了解基礎 Postman 使用方式
      • 知道如何設定 Request 的 Headers 與 Body
      • 瞭解 Collections 與 Environments 的使用方式

☸ 預期效益

  • 完整理解 OAuth 2.0 的授權與應用方式
  • 順利串接各家網路服務提供者的 OAuth 2.0 / OIDC 服務
  • 能夠擁有完整的知識來實作自家服務的 OAuth 2.0 提供者

☸ 講者名單

多奇數位創意有限公司 技術總監  Will 保哥

  • 2019 年獲選 Microsoft Regional Director (RD) 微軟技術社群區域總監
  • 2018 年榮獲 Angular/Web GDE (Google Developer Expert) 開發專家
  • 2008 至今連續 15 度當選 Microsoft MVP 微軟最有價值專家 (Developer Technologies)。
  • 2013 年曾獲選第 6 屆iT邦幫忙鐵人賽【iT邦幫忙鐵人賽年度大獎】、【開發技術組年度鐵人】、【iT邦幫忙鐵人賽優選】三項殊榮。
  • 熟悉 Angular、JavaScript、.NET、C#、ASP.NET MVC、Go、Docker、Kubernetes 相關技術。擅長 DevOps 與組織文化建立、軟體團隊建構與管理。
  • 曾擔任 Visual Studio 2010 上市發表會講師、MSDN 講座講師、TechDays Taiwan 2010~2015 講師、TechEd China 2011, 2013 講師。
  • 出版著作有 ASP.NET MVC 2 開發實戰、Windows Phone 開發實戰、ASP.NET MVC 4 開發實戰等書籍。
  • 部落格: http://blog.miniasp.com/
  • 粉絲頁: https://www.facebook.com/will.fans

☸ 學員課程評價

  • 課程教材很豐富、也提供很多串接 OAuth2.0 的實際案例,回家作業做完後看到老師提供的不同實作方法覺得很棒,有"原來也可以這樣做"的感覺,因為工作上都是自己搜尋資源來實作 OAuth2.0 串接,總覺得哪裡怪怪的又說不出來,幸好老師在課堂上留了很多時間來解惑,而且老師很有耐心的解釋一遍又一遍,透過跟其他同學解釋的過程也吸收了很多,最後的 Azure AD 太受用了,謝謝老師!
     
  • 老師帶領之下一步一步瞭解 OAuth 運作及整體架構並實作,讓大家不僅可以知其然,更能知其所以然,如果是在一開始學習程式設計的初期就能上這一門課,可以節省非常多盲目摸索的時間,很謝謝老師開設這門課程,如果有機會能在學校開設這門課程的話,相信更能提攜將來的程式設計師。
     
  • 之前 SSO 整過幾家不同的 OAuth 流程,過程中總是一支半解,因為工作的緣故,沒有時間可以慢慢的弄懂,在上完課後,終於確實的弄懂了所有流程,流程相當的清晰,只要知道邏輯,通常程式都可以實作,這堂課可以釐清 OAuth 2.0 流程觀念釐清給我帶來相當大的幫助。
     
  • 此課程是我第一次聽到這麼詳細的教學,平時在 YouTube 上看的影片總會有部分講得不夠詳細、不夠清楚,總要一直查詢資料、看別人寫的文章,才能了解。但這堂課最一開始就把很多定義講的明明白白,透過很多實例來讓我們更加認識每個角色的作用。也深刻的感受到保哥實在是太厲害了,而且還有永久售後服務,真的是很棒的一門課程!
     
  • 前幾年就想學,苦於看不懂官方文件,連問題在哪都沒頭緒問;聽完講解原理,看完示範實作,發現終於能慢慢開始讀文件、也竟然開始有實作成功的...太神奇了...超級實用的引導課程。
     
  • 清楚了 OAuth 2.0 的四個角色,知道 Client 不是平常認知的瀏覽器,真的非常重要。也已經很清楚 OAuth 2.0 的四種流程運作及使用情境,保哥直接以畫圖的方式,走過每個流程的步驟,真的是史上最清楚的 OAuth 2.0 流程說明。另外雖然不在課程範圍內,為了做作業,也額外花時間研究如何部署程式到 Azure App Service 上和使用 Github Action 實現 CICD,裡面也是滿滿的 OAuth 2.0 的影子。以後不用再靠官方提供的 SDK 就可以串接 OAuth 2.0 服務,應該是這堂課最大的價值了!

☸ 課程費用

  • 優惠價:NT$ 8,000.-

☸ 退換票辦法

  • 考量行政成本,已完成繳費之學員如欲取消報名 -
    • 開課前 11 天申請退費,退學費 90%。
    • 開課前 10 天申請退費,退學費 0%。
  • 如需退費,請填寫課程退費申請表,收到申請表,課程專員將寄發通知信mail以告知申請進度。
  • 統一退費日期為申請日之下個月10號。申請時間為「課程退費申請表」的回覆日期。
  • 學員須自行負擔匯款手續費 NT 30 元。

☸ 注意事項

  • 學員事先安裝好實作環境。(課前會公告在FB社團)
  • 如需開立三聯式發票,請於報名時提供【公司名稱】與【統一編號】 
  • 如公司報帳需要,提早開立發票請提前告知或備註
  • 若報名課程學員人數不足15人,主辦單位有權取消當次課程,並退還全額課程費用
  • 若因不可抗拒因素(如:天災、停電)主辦單位有權取消當次課程,並退還全額課程費用
  • 為配合政府落實節能減碳及推動電子發票政策,本公司自民國 107 年開始使用電子發票。為確保您能順利取得電子發票,煩請於下單時再次確認您已提供正確之 E-mail 信箱。
    avatar

    多奇教育訓練

    《線上授課》精通 OAuth 2.0 授權框架

    2023.04.15 (Sat) 09:30 - 04.22 (Sat) 16:30 (GMT+8)

    活動嘉賓

    Will 保哥
    Will 保哥
    loading