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