UP(유니버설 인쇄) 프린터 클라이언트 ID 등록
필수 OEM 프린터 클라이언트 애플리케이션 API 권한
유니버설 인쇄는 Azure에서 발급한 OAuth2 권한 부여 액세스 토큰을 지원합니다. 유니버설 인쇄 준비 프린터를 개발하려면 OEM에서 필요한 권한 집합을 사용하여 Azure에 클라이언트 애플리케이션을 등록해야 합니다. OAuth2는 2가지 유형의 권한 요청을 정의합니다.
위임된 범위 권한
범위 | 문자열 표시 | 설명 | 관리자 동의 필요 |
---|---|---|---|
Printers.Create | 새 프린터를 만들고 등록합니다. | 애플리케이션에서 로그인한 사용자를 대신하여 프린터를 만들고 등록할 수 있습니다. | 예 |
애플리케이션 범위 권한
범위 | 문자열 표시 | 설명 | 관리자 동의 필요 |
---|---|---|---|
Printers.Read | 계정에 액세스할 수 있는 프린터를 읽습니다. | 애플리케이션에서 로그인한 사용자 없이 프린터를 읽을 수 있습니다. | 예 |
PrinterProperties.ReadWrite | 계정에 액세스할 수 있는 프린터 속성 및 특성을 읽고 씁니다. | 애플리케이션에서 로그인한 사용자 없이 프린터 속성 및 특성을 읽고 쓸 수 있습니다. | 예 |
PrintJob.ReadWriteBasic | 인쇄 작업 메타데이터를 읽고 씁니다. | 애플리케이션에서 로그인한 사용자 없이 사용자의 인쇄 작업의 메타데이터를 읽고 쓸 수 있습니다. | 예 |
PrintJob.Read | 인쇄 작업 메타데이터 및 페이로드를 읽습니다. | 애플리케이션에서 로그인한 사용자 없이 사용자의 인쇄 작업의 메타데이터 및 페이로드를 읽을 수 있습니다. | 예 |
OEM 프린터 클라이언트 애플리케이션 등록
- 회사의 앱 개발 테넌트를 사용하여 다중 테넌트 앱을 만듭니다.
- 위에서 정의한 대로 필요한 권한 범위 집합을 요청하도록 다중 테넌트 앱을 구성합니다.
- Printers.Create [Delegated]
- Printers.Read [응용 프로그램]
- PrinterProperties.ReadWrite [애플리케이션]
- PrintJob.ReadWriteBasic [애플리케이션]
- PrintJob.Read [애플리케이션]
새 애플리케이션 등록
나중에 사용할 수 있는 등록된 애플리케이션 ID 복사
애플리케이션 인증 설정
Azure Portal을 사용하여 필요한 API 권한 추가
"사용 권한 추가" 단추를 클릭하면 플라이아웃이 오른쪽에 표시됩니다. 플라이아웃에서 "Microsoft API"를 선택합니다.
"유니버설 인쇄"를 찾으려면 플라이아웃에서 아래로 스크롤해야 할 수 있습니다.
위에서 멘션 권한을 추가합니다.
필요한 권한이 추가되면 애플리케이션 사용 권한은 다음과 같습니다.
API 권한을 구성하는 다른 방법을 찾고 있는 경우 '대체 옵션'을 참조하세요.
OEM 프린터 클라이언트 애플리케이션 게시자 업데이트
기본적으로 등록된 애플리케이션에는 "확인되지 않은" 게시자가 있습니다. 변경되지 않은 상태로 두면 권한 동의 대화 상자에 "확인되지 않음"이 표시됩니다. 방법: 애플리케이션의 게시자 구성기본 애플리케이션 게시자를 설정합니다.
빠른 참조를 위해 핵심 단계는 다음과 같습니다.
참고 항목
이 프린터 클라이언트 응용 프로그램 ID가 프린터에서 실행 중인 코드에 통합되면 이 ID를 사용하는 프린터가 고객 테넌트의 유니버설 인쇄에 처음으로 등록되면 관리이 애플리케이션에 동의하라는 메시지가 표시됩니다.
게시자가 기본 유효성이 검사된 do기본로 업데이트되면 애플리케이션 권한 요청 동의 대화 상자에 유효성이 검사된 do기본 값이 표시됩니다.
샘플 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"
}
]
}
],
값 | 설명 |
---|---|
범위 | 이 리소스 액세스는 위임된 권한 범위를 사용하도록 정의됩니다. |
역할 | 이 리소스 액세스는 애플리케이션 권한 범위를 사용하도록 정의됩니다. |
da9b70f6-5323-4ce6-ae5c-88dcc5082966 | Azure 글로벌 클라우드의 유니버설 인쇄 ID입니다. |
3e306194-d6c5-43ad-afbb-0e7b16a9c10b | Printers.Create 권한의 ID입니다. |
1c90a3a7-465b-49c4-adcc-c8ac83d3d3f8 | PrinterProperties.ReadWrite 권한의 ID입니다. |
2b1bdd6b-9a0f-47c6-a806-b3e20cfd07a8 | Printers.Read 권한의 ID입니다. |
b695614a-52ec-4835-9e13-bdf5ff4c7448 | PrintJob.Read 권한의 ID입니다. |
11f87dac-027f-4d76-bd29-1ea1536b93da | PrintJob.ReadWriteBasic 권한의 ID입니다. |
- 변경 내용을 저장합니다.