通用列印 (UP) 印表機用戶端識別碼註冊
必要的 OEM 印表機用戶端應用程式 API 許可權
通用列印支援由 Azure 發出的 OAuth2 授權存取權杖。 開發通用列印就緒印表機需要 OEM 向 Azure 註冊具有所需許可權集的用戶端應用程式。 OAuth2 定義 2 種類型的許可權 要求。
委派的範圍許可權
範圍 | 顯示字串 | 描述 | 需要管理員同意 |
---|---|---|---|
Printers.Create | 建立並註冊新的印表機。 | 允許應用程式代表登入的使用者建立和註冊印表機。 | Yes |
應用程式範圍許可權
範圍 | 顯示字串 | 描述 | 需要管理員同意 |
---|---|---|---|
Printers.Read | 讀取帳戶有權存取的印表機。 | 允許應用程式讀取沒有登入使用者的印表機。 | Yes |
PrinterProperties.ReadWrite | 讀取和寫入帳戶可存取的印表機屬性和屬性。 | 允許應用程式讀取和寫入印表機屬性和屬性,而不需要登入的使用者。 | Yes |
PrintJob.ReadWriteBasic | 讀取和寫入列印工作中繼資料。 | 允許應用程式讀取和寫入使用者列印工作的中繼資料,而不需要登入的使用者。 | Yes |
PrintJob.Read | 讀取列印工作中繼資料和承載。 | 允許應用程式讀取使用者列印工作的中繼資料和承載,而不需要登入的使用者。 | Yes |
OEM 印表機用戶端應用程式註冊
- 使用貴公司的應用程式開發租使用者建立多租使用者應用程式。
- 設定多租使用者應用程式,以要求上述定義所需的許可權範圍集合。
- Printers.Create [Delegated]
- Printers.Read [Application]
- PrinterProperties.ReadWrite [Application]
- PrintJob.ReadWriteBasic [Application]
- PrintJob.Read [Application]
註冊新的應用程式
複製已註冊的應用程式識別碼以供稍後使用
設定應用程式驗證設定
使用Azure 入口網站新增必要的 API 許可權
按一下 [新增許可權] 按鈕之後,飛出視窗會顯示在右側。 在飛出視窗中,選取 [Microsoft API]。
您可能需要在飛出視窗中向下捲動以尋找「通用列印」
新增上述許可權。
新增必要的許可權時,應用程式許可權看起來應該像這樣:
如果您要尋找另一種方式來設定 API 許可權,請參閱 「替代選項」 。
更新 OEM 印表機用戶端應用程式發行者
根據預設,已註冊的應用程式會有「未驗證」發行者。 如果保持不變,客戶會在 [許可權同意] 對話方塊中看到 「未驗證」 。 請遵循 如何:設定應用程式的發行者網域 來設定應用程式發行者。
如需快速參考,核心步驟如下:
注意
將此印表機用戶端應用程式識別碼整合到印表機上執行的程式碼後,第一次使用此識別碼的印表機在客戶租使用者中註冊通用列印時,系統會提示管理員istrator 同意此應用程式。
當發行者網域更新為已驗證的網域時,應用程式許可權要求同意對話方塊會顯示已驗證的網域值。
範例 OAuth 2.0 裝置驗證要求
完成上述步驟之後,您可以使用 HTTP 主體語法向 發出 HTTP POST 要求來 https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode
要求驗證
client_id={registered printer client ID}&scope=https%3A%2F%2Fprint.print.microsoft.com%2F.default
POST https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
client_id=3e41cb36-3180-4566-bf3d-51ec873419e5&scope=https%3A%2F%2Fprint.print.microsoft.com%2F.default
新增必要 API 許可權的替代選項
- 在資訊清單中尋找
requiredResourceAccess
區段 - 將下列必要的 API 許可權複製並貼到資訊清單中。 最簡單的方式是取代資訊清單的整個
requiredResourceAccess
區段。
"requiredResourceAccess": [
{
"resourceAppId": "da9b70f6-5323-4ce6-ae5c-88dcc5082966",
"resourceAccess": [
{
"id": "3e306194-d6c5-43ad-afbb-0e7b16a9c10b",
"type": "Scope"
},
{
"id": "1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8",
"type": "Role"
},
{
"id": "2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8",
"type": "Role"
},
{
"id": "b695614a-52ec-4835-9e13-bdf5ff4c7448",
"type": "Role"
},
{
"id": "11f87dac-027f-4d76-bd29-1ea1536b93da",
"type": "Role"
}
]
}
],
值 | Description |
---|---|
範圍 | 此資源存取權的定義是使用委派的許可權範圍。 |
角色 | 此資源存取的定義是使用應用程式許可權範圍。 |
da9b70f6-5323-4ce6-ae5c-88dcc5082966 | Azure 全域雲端中的通用列印識別碼。 |
3e306194-d6c5-43ad-afbb-0e7b16a9c10b | Printers.Create 許可權的識別碼。 |
1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8 | PrinterProperties.ReadWrite 許可權的識別碼。 |
2b1bd6b-9a0f-47c6-a806-b3e20cfd07a8 | Printers.Read 許可權的識別碼。 |
b695614a-52ec-4835-9e13-bdf5ff4c7448 | PrintJob.Read 許可權的識別碼。 |
11f87dac-027f-4d76-bd29-1ea1536b93da | PrintJob.ReadWriteBasic 許可權的識別碼。 |
- 儲存變更。