iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0

通常公司維護的專案數量多了之後,就會需要有一個集中式的帳號中心。這時候就會需要 OAuth 之類的協議來處理帳號登入的問題。OAuth 最早是 twitter 開始發展的,發展到現在已經到 OAuth2 了,後來 Google 還有推出 OIDC(OpenID connect) 算是以 OAuth2 為基底的身分認證協議。

說了那麼多,只是想說討論認證、授權之類的議題免不了會談到 OAuth。

以前雖然也自己小小研究過 OAuth 的歷史,但是實際在接觸的時候還是會被那繁複的驗證過程迷惑住,而且中間也不少需要注意的地方。同一時間還要處理 Https 的證書問題(因為在進行 OAuth 授權的時候沒有透過 Https 保護連線內容是非常不安全的),那真的是會暈頭轉向的。


工作上使用 OAuth 的開發流程

  • 在帳號中心建立子服務的 client_id, client_secret
  • 在子服務專案內設定好 client_id, client_secret, callback URL
  • 設定要從帳號中心取得的資源 scope, 授權的效期
  • 設定帳號中心的資源要如何對應到子服務專案資料庫中的資料欄位?

想學習的進階功能

  • 已登入 google 的狀態下在其他網站入口點社群登入,可以看到該帳號在選項之中,不用再重新輸入帳密
  • 可以在 google 查看已授權出去的 session,可以註銷
  • session 資訊包含 IP 來源、地區、登入裝置訊息,幫助使用者判斷是否為可疑身分?
  • 可以設定信任的裝置
  • 雙因 or 多因認證機制

參考文獻 (待補)


上一篇
參。docker 的注意事項
下一篇
伍。You've Got Mail - 電子郵件處理
系列文
程式小萌新的學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言