iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
自我挑戰組

Identity Management 系列 第 14

14 - OpenID (2) - ID Token

  • 分享至 

  • xImage
  •  

ClientOpenID Provider 發出請求之後,OpenID Provider 會回傳一個 ID Token 做為驗證的依據。

ID Token 的格式為 JWT (Json Web Token)。JWT 的格式包含三大部分

  • Header - 包含這個 token 使用的加密演算法,以及這個 token 的類型
  • Payload - 使用者驗證資料
  • Signature - 將某個 secret,跟前面的 header 和 payload 加密後的結果。可以被用來檢查這個 token 是否被篡改過

ID Token 的 Payload 主要包含以下資訊:

  • iss - issuer,OpenID Provider 的 url
  • sub - subject,被驗證的使用者的 identifier
  • aud - audience,Relying Party 的 ID,在 OAuth 流程當中,就會是 Client 註冊在 OpenID ProviderAuthorization server 當中的 ID
  • exp - expiration time,到期時間
  • iat - issue at,token 的發行時間
  • auth_time - authenticated time,使用者通過驗證的時間
  • nonce - 隨機值,由 Relying Party 在送出驗證請求的時候帶出,之後 OpenID Provier 會將這個值放入 ID Token 送回給 Relying Party
  • amr - authentication method reference,驗證方法的 identifier
  • acr - authentication context class reference, authentication context class 的 identifier。Authentication context class 用來提供關於 Level Of Assurance 的資訊
  • azp - authorized party,被授權方。在一般情況下不會使用,因為請求「驗證」和「授權」的 Client (Relying Party) 會是同一方,也就是說,這個值會跟 aud 一樣

看完 ID Token 的內容,明天我們就來看看 OpenID 的流程吧!


上一篇
13 - OpenID (1) - Problem to solve, Roles and Flows
下一篇
15 - OpenID (3) - OIDC Authorization Code Flow
系列文
Identity Management 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言