Permissions API

Permissions API는 현재 맥락에 따른 API 권한의 상태를 조회할 수 있는 일관된 프로그래밍 방식을 제공합니다. 예를 들어, Permissions API를 사용하여 특정 API에 대한 접근 권한이 부여되었는지 또는 거부되었는지, 특정 사용자 권한이 필요한지를 확인할 수 있습니다.

이 API의 권한은 보안 맥락에서 API를 사용하기 위한 모든 요구 사항, 문서에 적용된 권한 정책 제한, 사용자 프롬프트 등 맥락에 대한 모든 보안 제한을 효과적으로 집계합니다. 예를 들어 API가 권한 정책 (en-US)에 의해 제한되는 경우, 반환된 권한은 거부(denied)되고 사용자에게 접근 여부를 묻는 메시지가 표시되지 않습니다.

참고: 이 기능은 WorkerNavigator.permissions (en-US) 속성을 지원하는 Web Workers에서 사용할 수 있습니다.

개념 및 사용법

예를 들어, Notifications API는 권한을 요청하고 권한 상태를 확인하는 자체 메서드를 제공한 반면, Geolocation API는 그렇지 않았습니다. Permissions API는 개발자가 권한 작업을 위한 일관되고 더 나은 사용자 환경을 구현할 수 있는 도구를 제공합니다.

permissions 속성은 표준 브라우징 맥락과 작업자 맥락(WorkerNavigator (en-US) - 작업자 내부에서 권한 확인이 가능) 모두에서 Navigator 객체에서 사용할 수 있게 되었으며, Permissions API 기능에 대한 접근을 제공하는 Permissions (en-US) 객체를 반환합니다.

이 객체가 있으면, Permissions.query() (en-US) 메서드를 사용하여 권한을 조회하여, 특정 API에 대한 PermissionStatus (en-US)로 확인되는 프로미스를 반환하는 등 권한 관련 작업을 수행할 수 있습니다.

권한 인식 API 목록(Permission-aware APIs)

Permissions API를 사용하여 모든 API의 권한 상태를 조회할 수 있는 것은 아닙니다. 권한을 인식 가능한 API의 전체 목록은 다음과 같습니다.

예제

위치 찾기라는 간단한 예제를 만들었습니다. 예제를 실시간으로 실행하거나 Github에서 소스 코드를 확인할 수 있습니다.

작동 방식에 대한 자세한 내용은 Permissions API 사용하기 (en-US) 문서를 참조하세요.

인터페이스

기본 맥락 및 작업자 맥락에서 각각 Permissions (en-US) 객체에 대한 접근을 제공합니다.

Permissions (en-US)

권한을 조회하고, 해제하는 메서드 등 핵심 권한 API 기능을 제공합니다.

PermissionStatus (en-US)

권한의 현재 상태에 대한 액세스와 권한 상태 변경에 응답하는 이벤트 핸들러를 제공합니다.

명세서

Specification
Permissions

브라우저 호환성

api.Permissions

BCD tables only load in the browser

api.Navigator.permissions

BCD tables only load in the browser

api.WorkerNavigator.permissions

BCD tables only load in the browser

같이 보기