註冊 SaaS 應用程式
本文說明如何使用 Microsoft Azure 入口網站 註冊 SaaS 應用程式,以及如何取得發行者的存取令牌(Microsoft Entra 存取令牌)。 發行者會呼叫 SaaS 履行 API,使用此令牌來驗證 SaaS 應用程式。 履行 API 使用 OAuth 2.0 用戶端憑證,在 Microsoft Entra ID(v2.0)端點上執行憑證流程,以請求服務對服務的存取令牌。
Azure Marketplace 不會對 SaaS 服務用於終端用戶的驗證方法施加任何限制。 只有在 Azure Marketplace 中驗證 SaaS 服務 時,才需要下列流程。
如需Microsoft Entra ID (Active Directory) 的詳細資訊,請參閱 什麼是驗證。
註冊 Microsoft Entra ID 保護的應用程式
任何想要使用 Microsoft Entra 識別符功能的應用程式,必須先在 Microsoft Entra 租用戶中註冊。 此註冊過程牽涉到提供 Microsoft Entra 應用程式相關的資訊。 若要使用 Azure 入口網站註冊新的應用程式,請執行下列步驟:
登入 Azure 入口網站。
如果您的帳戶可讓您存取多個帳戶,請選取右上角的帳戶。 然後將入口網站會話設定為所需的 Microsoft Entra 租戶。
在左側瀏覽窗格中,選取 Microsoft Entra ID 服務,選取 應用程式註冊,然後選取 新增應用程式註冊。
在 [建立] 頁面上,輸入應用程式的註冊資訊:
名稱:輸入有意義的應用程式名稱
支援的帳戶類型:
選擇 此組織目錄中的帳戶 (僅限單一租戶)。
完成時,請選取 註冊。 Microsoft Entra ID 會將唯一 應用程式識別碼 指派給新的應用程式。 您必須註冊一個只存取 API 的應用程式,並且以單一租使用者的形式。
若要建立客戶端密碼,請流覽至 [憑證 & 秘密] 頁面,然後選取 [[+新增客戶端密碼]。 請務必複製秘密值,以在您的程式代碼中使用。
Microsoft Entra 應用程式識別碼 與您的發行者 ID 相關聯,因此請確定所有提供中都使用相同的 應用程式識別碼。
注意
如果發行者在合作夥伴中心有兩個以上的不同帳戶,Microsoft Entra 應用程式註冊詳細數據只能用於一個帳戶。 不支援在不同發行者帳戶下,使用相同的租用戶標識碼與應用程式 ID 組合進行供應專案。
注意
您必須在您用來建立令牌的租用戶中建立已註冊應用程式的服務主體。 請參閱本檔案 如何為應用程式註冊建立服務主體。
如何取得發行者的授權令牌
註冊應用程式之後,您可以使用 Azure AD v2 端點,以程式設計方式要求發行者的授權令牌(Microsoft Entra 存取令牌)。 發行者在呼叫各種 SaaS 履行 API 時,必須使用此令牌。 此令牌僅有效一小時。
如需這些令牌的詳細資訊,請參閱 Microsoft Entra 存取令牌。 在以下流程中會使用 V2 端點令牌。
使用 HTTP POST 取得令牌
HTTP 方法
貼文
請求 URL
https://login.microsoftonline.com/*{tenantId}*/oauth2/v2.0/token
URI 參數
參數名稱 | 必填 | 描述 |
---|---|---|
tenantId |
正確的 | 已註冊的 Microsoft Entra 應用程式的租戶 ID。 |
要求標頭
標頭名稱 | 必填 | 描述 |
---|---|---|
content-type |
正確的 | 與要求相關聯的內容類型。 預設值為 application/x-www-form-urlencoded 。 |
請求主體
屬性名稱 | 必填 | 描述 |
---|---|---|
grant_type |
正確的 | 授與類型。 使用 "client_credentials" 。 |
client_id |
真實 | 與 Microsoft Entra 應用程式相關聯的用戶端/應用程式識別碼。 |
client_secret |
正確的 | 與 Microsoft Entra 應用程式相關聯的秘密。 |
scope |
正確的 | 使用預設範圍請求令牌的目標資源。 請使用 20e940b3-4c77-4b0b-9a53-9e16a1b010a7/.default ,因為在此情況下,Marketplace SaaS API 一律是目標資源。 |
回應
名字 | 類型 | 描述 |
---|---|---|
200 確定 | TokenResponse | 請求成功。 |
TokenResponse
回應範例:
{
"token_type": "Bearer",
"expires_in": "3600",
"ext_expires_in": "0",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9…"
}
元素 | 描述 |
---|---|
access_token |
此元素是呼叫所有 SaaS 履行和 Marketplace 計量 API 時,您會傳遞為授權參數的 <access_token> 。 呼叫受保護的 REST API 時,令牌會內嵌在 Authorization 要求標頭欄位中作為「持有人」令牌,讓 API 驗證呼叫端。 |
expires_in |
存取令牌在發行後到期前,能持續有效的秒數。 您可以在令牌的 iat 聲明中找到發行時間。 |
expires_on |
存取令牌到期的時間範圍。 日期會以 “1970-01-01T0:0:0Z UTC” 的秒數表示(對應至符號的 exp 宣告)。 |
token_type |
令牌的類型,這是「持有人」存取令牌,這表示資源可以授與此令牌持有人的存取權。 |
相關內容
您的 Microsoft Entra ID 保護的應用程式現在可以使用 第 2 版 SaaS 履約訂閱 API 和 第 2 版 SaaS 履約作業 API。
視頻教程