iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0
自我挑戰組

Identity Management 系列 第 18

18 - Use cases of different OAuth grants and OIDC flows

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20220929/20116003OxlfRneOF1.png

介紹過 OAuth 四種 grants 類型以及 OpenID (OIDC) 三種 flows,今天就讓我們來看看如何挑選合適的 grant 和 flow 來使用

1 - 沒有終端使用者

這種情況下,其實也就不需要 OIDC flow 來取得使用者的驗證資訊,Client 也不需要取得使用者的授權,因此採用 OAuth Client Credential Grant 即可

2 - 有終端使用者,client 是有後端的 web application

有安全的後端可以處理 authorization code 以及 PKCE 流程,就可以選擇最安全的 OAuth Authorization Code Grant 以及 OIDC Authorization Code Flow

3 - 有終端使用者,client 是 Native App 但非自家服務

這裡也可以採用 OAuth Authorization Code Grant 以及 OIDC Authorization Code Flow

4 & 5 - 有終端使用者,client 是 Native App 且為自家服務;or client 是純前端 web application 且為自家服務

如果 Client 是自己家的服務,那麼就比較不怕經手自己家使用者的 credential(至少會比較負責一點),因此可以 Resource Owner Password Credential Grant。另一方面,這時候也就不需要 OIDC flow 來另外取得使用者的驗證資訊。

6 - 有終端使用者,client 是純前端 web application 但非自家服務

最後一種,終端使用者使用第三方的純前端 Client,因此沒有安全的後端可以處理 authorization code 與 PKCE 流程,另外在這種情況下,也不會放心將使用者的 credential 讓第三方 Client 經手,因此就會採取 OAuth Implicit Grant 與 OIDC Implicit Flow


上一篇
17 - OpenID (5) - OIDC Hybrid Flow
下一篇
19 - Access Policy Enforcement (1)
系列文
Identity Management 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言