點擊每頁的左下角 圖標可全屏播放。

acr_values 參數說明

OpenID Connect 認證強度擴充

版本/日期:v1.0 / 2025-07-25
製作單位:中央授權中心 開發維運團隊


目錄

  1. 基本概念
  2. 二次驗證相關
  3. 頻道驗證與資訊
  4. 行動裝置功能
  5. 感謝

基本概念

  • 在 OpenID Connect 協議中可選參數:acr_values (Authentication Context Class Reference Values)
  • 參數用於告知身份提供者(IdP):「我希望使用者用這種方式來驗證身份。」
  • 業界常見做法是,各身份服務會定義自家支援的 acr 名稱,並在授權請求中傳入對應值。身份提供者(IdP)則會根據這些不同的 acr 名稱,採用不同的方式驗證用戶身份。
  • 中央授權中心依此機制擴充出三大類應用需求。
二次驗證
頻道驗證
行動裝置
功能

二次驗證相關

  • 2fa 要求使用者進行雙因素登入。
  • 2fa:qrcode,fido 指定二次驗證的方式,例如結合相信掃描和 FIDO 驗證器。冒號後的參數可以自由組合多種驗證方式。 相當于 login_type=2fa&fa=qrcode,fido 。 [點擊查看login_type說明]
  • must_bfido 強制啟用特定的相信生物辨識驗證,這通常用於對安全性要求極高的場景。
//使用默認2fa(推薦)(非acr_values參數省略,下同)
GET /connect/authorize?acr_values=2fa
//指定二次驗證方式
GET /connect/authorize?acr_values=2fa:qrcode/password,fido/totp
//強制相信生物辨識驗證的二次驗證
GET /connect/authorize?acr_values=2fa:qrcode,fido must_bfido
  • 最終需驗證IDToken、AccessToken中的 amr 值是否有預期值。

頻道驗證與資訊

  • req_chnl 開啟頻道帳號驗證。
  • chnl_info 回傳頻道名稱與圖示。
  • req_chnl:believe_dev 指定驗證目標頻道。
GET /connect/authorize?acr_values=req_chnl:civetdeve chnl_info
獲得 ID Token 範例
{
    "header": {......},
    "payload":{ ......
        "chnl": "civetdeve",
        "chnl_name": "生活頻道開發指南",
        "chnl_icon": "https://icivetmedia.foxconn.com/gro......"
        },
    "signature": "......"
}

行動裝置功能

  • app_gps 在相信APP中回傳GPS定位。
  • app_faceid 在相信APP中開啟相信的人臉識別。
GET /connect/authorize
        ?acr_values=app_gps app_faceid
獲得 ID Token 範例
{
    "header": {......},
    "payload":{ ......
        "gps":{
            "lat":22.654329000000001,
            "lnt":114.05582800000001,
            "time":1753413415
        },
        "faceid": {
            "result":"1",
            "key":"f3218FCB-3525E808992C",
            "time":1753413414
        } },
    "signature": "......"
}