使用 OAuth 進行身份驗證

在本主題中,您將學習如何配置 Brightcove Beacon 與 OIDC 提供商的集成。Auth0 用作示例 OIDC 提供程序。

簡介

OAuth(開放授權)是訪問授權的開放標準,通常用作互聯網用戶授權網站或應用程序訪問其在其他網站上的信息的一種方式,但不使用密碼。例如,考慮一下您使用銀行應用程序的情況。OAuth 為您提供了一種獲取授權令牌以訪問受保護/特權銀行信息的方法。Brightcove Beacon 的一個示例是,當對其中一個 Beacon 應用程序進行身份驗證時,OAuth 將提供 UI 並驗證潛在查看者的憑據。

工藝概述

將 OAuth 與 Brightcove Beacon 一起使用的過程的高級視圖是:

  1. 創建 Auth0 API。
  2. 如果使用 Web 應用程序,請創建一個 Auth0 單頁應用程序。創建後,您需要將關聯的 客戶端 ID 發送給 Beacon 網絡應用程序團隊以獲取相應的 Allowed Callback URLs
  3. 為您使用 Beacon 的所有其他應用程序平台創建一個 Auth0 本機應用程序。對於每個平台,創建應用程序後,您需要將關聯的 Client ID發送給特定的 Beacon 平台團隊,以獲取相應的 Allowed Callback URLs
  4. 將每個平台團隊返回的 URL 輸入到每個平台應用程序相應的 Allowed Callback URLs 表單字段中。
  5. 從其中一個應用程序中,複製 OpenID 配置 URL 並瀏覽它。
  6. 使用瀏覽的 OpenID 配置 網頁中的信息作為 Beacon Classic 中 Auth Providers 表單的值。

創建 OAuth API

您必須為您的身份驗證創建一個 OAuth API 才能正常運行。以下步驟將引導您完成此過程:

  1. 瀏覽到 https://auth0.com/ 並登錄或創建一個帳戶然後登錄。
    資產/圖像/s-general-img/authentication-using-oauth/login-screen.png 登錄屏幕
  2. 從儀表板中,單擊 應用程序 > 蜜蜂 > 創建 API
    創建接口
  3. 新 API 表單中,輸入以下內容:
    • 用於標識此 API 的 名稱
    • 標識符 是 API 的邏輯名稱。建議使用 URL,但它不需要通過 Internet 訪問。
    • 簽名算法 保留為默認值 RS256
    完成的 api 表格
  4. 按一下「建立」。
  5. 在 API 詳細信息頁面中,單擊 Settings ,然後向下滾動到 Access Settings 並啟用 Allow Offline Access
    允許離線訪問
  6. 如果您願意,您可以更改 令牌到期時間 以滿足您的業務需求。
  7. 按一下「儲存」。
  8. 在左側導航中,單擊 應用程序 > API ,並確保您的 API 已創建。

創建單頁應用程序

您僅為您的 Beacon 網絡應用程序創建一個單頁應用程序。如果您不打算擁有 Web 應用程序,則不必執行這些步驟。

  1. 從儀表板中,單擊 應用程序 > 應用 > 創建應用程序
    建立應用程式
  2. “創建應用程序” 對話框中,為您的 Web 應用程序輸入一個名稱,然後選擇 “單頁 Web 應用程序 ”選項。
    創建單頁應用程序完成表單
  3. 按一下「建立」。
  4. 在應用程序詳細信息頁面中,單擊 設置 並找到 客戶端 ID 值。
    客戶編號
  5. 您現在需要復制客戶端 ID,確保記錄它來自您的 Web 應用程序,並將 ID 發送給 Beacon Web 應用程序團隊。然後,Beacon 團隊會將您在 應用程序 URI 中輸入的值發回給您 > 允許的回調 URL應用程序 URI > 允許的註銷 URL
    允許的回調 url
  6. 在應用程序詳細信息頁面底部附近,打開 “高級設置” 並單擊 “授權類型”
  7. Grants 部分,取消選中/禁用 Implicit grant。
    授予類型單頁
  8. 單擊 保存更改。即使您尚未輸入 允許的回調 URL, 您也可以保存當前數據。

創建本機應用程序

您必須為您擁有 Beacon 應用程序的每個平台創建一個本機應用程序。這包括:

  • iOS/Apple TV(兩者都需要一個應用程序)
  • Android Mobile/Android TV(兩者都需要一個應用程序)
  • Roku
  1. 從儀表板中,單擊 應用程序 > 應用 > 創建應用程序
    建立應用程式
  2. Create application 對話框中,為您的 Web 應用程序輸入一個名稱並選擇 Native 選項。
    創建本機應用程序完成的表單
  3. 按一下「建立」。
  4. 在應用程序詳細信息頁面中,單擊 設置 並找到 客戶端 ID 值。
    客戶編號
  5. 您現在需要復制客戶端ID,請務必記錄此應用程序對應的平台。然後您需要將 ID 發送給正確的平台團隊。然後,Beacon 團隊會將您在 應用程序 URI中輸入的值發回給您 > 允許的回調 URL
    允許的回調 url
  6. 仍在 設置中,找到 刷新令牌輪換 組並啟用 輪換
    啟用旋轉
  7. 在應用程序詳細信息頁面底部附近,打開 “高級設置” 並單擊 “授權類型”
  8. Grants 部分,執行以下操作:
    • 取消選中/禁用 隱式 授權。
    • 檢查/啟用 設備代碼 授權。
    授予類型原生
  9. 單擊 保存更改。即使您尚未輸入 允許的回調 URL, 您也可以保存當前數據。

在 Beacon Classic 中實現 OAuth

在文檔的這一部分,您將學習如何使用來自 OAuth 應用程序的信息來填寫 Beacon Classic CMS 中的 Auth Providers 表單。

  1. 在儀表板中,單擊 “應用程序”→“應用程序” 以查看您的應用程序列表。
  2. 單擊您的任何應用程序以查看其詳細信息頁面。
  3. 在頁面底部附近,打開 “高級設置” ,然後單擊 “端點”選項 卡。
    開放id配置
  4. 找到 OpenID 配置 信息並複制提供的 URL(注意字段末尾的複製圖標)。
  5. 瀏覽網址。
  6. 檢查以確保您看到類似於以下內容的 JSON:
    openid配置json
  7. 在 Beacon Classic 中,單擊頂部導航中的齒輪圖標。
  8. 在左側導航中單擊 Auth Providers
  9. 檢查以確保您看到類似於以下的表格:
    經典授權提供商
  10. 按照下表中的說明填充表單的每個字段:
    Beacon CMS 表單域 價值或位置
    (要輸入的實際值以粗體顯示)
    授權端點 /帳戶/社交登錄
    授權類型 openid_connect
    令牌重新生效 0
    基本網址 來自 JSON: issuer 值,請務必包含尾部斜杠 (/)
    用戶信息網址 來自 JSON: userinfo_endpoint 價值
    刷新令牌網址 來自 JSON: token_endpoint 價值
    撤銷刷新令牌網址 來自 JSON: revocation_endpoint 價值
    訪問令牌網址 來自 JSON: token_endpoint 價值
    授權網址 來自 JSON: authorization_endpoint 價值
    配對代碼網址 來自 JSON: device_authorization_endpoint 價值
    註銷網址 v2/註銷
    範圍 openid,配置文件,offline_access
    有觀眾 請參閱表格下方的說明
    Jwks 地點 來自 JSON: jwks_uri 價值
    發行人 來自 JSON: issuer 價值
    Roku 擴展 此實施不需要
    權利聲明密鑰 此實施不需要
    權利用戶信息 此實施不需要
  11. 單擊 保存設置

獲得 有觀眾的價值

  1. 從儀表板導航到 應用程序 > 應用程序接口
  2. 找到您之前構建的 API 並複制 API 受眾 URL(注意字段末尾的複製圖標)。
    觀眾
  3. 將此值放在 有受眾 表單字段中。

確認正確實施

一旦 OIDC 提供程序與 Brightcove Beacon 正確集成,OIDC 提供程序的工具將對 Beacon 應用程序的用戶進行身份驗證。例如,這是來自 Brightcove 測試帳戶的 OAuth 實施登錄屏幕:

bc 示例登錄

請注意,此登錄屏幕看起來與默認的 Beacon 登錄屏幕完全不同。