Chrome 116부터 점진적으로 권한 메시지에 이번만 허용 옵션이 추가될 예정입니다. Google의 목표는 사용자가 강력한 웹 기능을 원하는 대로 더 쉽게 사용할 수 있도록 하는 것입니다. 처음에는 데스크톱에서 이 시간 허용으로 가장 일반적인 권한(위치정보, 카메라, 마이크)을 사용할 수 있습니다. 모바일 웹 및 기타 기능에 대한 권한 요청 메시지는 현재 변경되지 않지만 향후 변경될 수 있습니다.
사이트 소유자는 영향 및 권장사항을 검토하고 데모를 사용해 보세요.
권한에 대한 새로운 UX
Chrome 116 이전의 권한 UX
![차단 및 허용만 보여주는 권한 메시지](https://developer.chrome.com/static/blog/one-time-permissions/images/permission-prompt-showing-4cfa5caa7d33f.png?authuser=19&hl=ko)
사용자에게는 세 가지 옵션이 표시됩니다.
- 허용: 영구 허용입니다.
- 블록: 영구 차단입니다.
- x 버튼을 클릭하면 임시 블록이 됩니다. 사이트에서 나중에 사용자에게 다시 메시지를 최대 3회까지 표시할 수 있습니다.
권한은 주소 표시줄의 사이트 제어 또는 사이트 설정을 통해 관리할 수 있습니다.
Chrome 116의 새로운 권한 UX
![새로운 일회성 옵션이 포함된 권한 메시지](https://developer.chrome.com/static/blog/one-time-permissions/images/permission-prompt-the-o-b78a728d235c9.png?authuser=19&hl=ko)
사용자에게는 다음 4가지 옵션이 표시됩니다.
- 이번만 허용: 임시 허용
- 방문할 때마다 허용: 지속적으로 허용합니다.
- 허용 안함: 영구 차단합니다.
- x 버튼을 클릭하면 임시 블록이 됩니다.
사용자가 이번만 허용을 선택하면 부여된 권한은 일시적이며 일회성 권한이라고도 합니다. 기간은 웹 애플리케이션과의 현재 진행 중인 상호작용으로 제한됩니다.
'이 시간 허용'의 사용자 혜택 및 UX 디자인
이번만 허용은 사용자에게 다음 기능을 제공합니다.
- 관리 기능이 강화되었습니다. Chrome 사용자 연구에 따르면 사용자는 웹사이트 권한에 대한 지속적인 결정을 내릴 준비가 되어 있지 않은 경우가 많으며, 권한을 부여하는 대가로 가치가 있는지 평가하려고 합니다. 일회성 허용 옵션을 제공하면 이러한 요구사항을 충족할 수 있으며 액세스 허용의 위험이 줄어듭니다.
- 더욱 명확성. 명시적인 이번만 허용 및 방문할 때마다 허용 옵션을 사용하면 옵션 중 하나는 일시적인 옵션이지만 다른 옵션은 영구 옵션임을 명확하게 표시합니다.
다른 브라우저에서의 일회성 권한
Safari 및 Firefox를 비롯한 여러 브라우저에서 일회성 권한을 지원합니다. 기기에서 어떻게 작동하는지 확인하려면 https://permission.site/one-time으로 실험해 보세요. 특정 동작이 있을 수 있으므로 위치정보, 카메라 및 마이크 권한을 사용해 보세요.
예를 들면 다음과 같습니다.
- 데스크톱의 Safari 16에서 위치정보는 기본적으로 일회성입니다 (다음 탐색까지). 사용자는 체크박스를 통해 액세스가 24시간 동안 유지되도록 선택할 수 있습니다.
- 데스크톱의 Firefox 115에서는 위치정보, 카메라 및 마이크 권한이 기본적으로 일회성으로 유지됩니다. 사용자는 체크박스를 통해 영구 액세스를 선택할 수 있습니다.
영향 및 권고 사항
일회성 권한이 미치는 영향:
- 일회성 권한을 도입해도 사용자가 이전에 지속적으로 부여한 권한에는 영향을 미치지 않습니다.
- 사용자가 권한 메시지에 대한 결정을 내리면 방문하는 동안 권한 상태가 부여되거나 거부됩니다. 이와 관련해서는 일회성 권한을 사용해도 아무런 차이가 없습니다.
- 하지만 사용자가 이번만 허용을 선택하면 다음 방문 시 권한 메시지가 다시 표시됩니다.
일회성 권한을 허용하려면 사이트 소유자가 다음 작업을 수행하는 것이 좋습니다.
- 권한 관련 권장사항을 준수하여 구현해야 합니다. 권장사항 검토
- 일회성 권한이 만료되는 시점을 파악합니다. 자세한 내용은 일회성 권한 만료를 참고하세요.
- 일회성 권한에 관한 Permissions API 동작과 만료를 관찰하는 방법을 알아보세요. Permissions API에서 세부정보를 검토하세요.
권장사항
이 시간을 허용하면 사용자가 기능을 사용해 볼 권한을 부여할 가능성이 높아질 수 있지만 영구 액세스 권한을 부여할 의사가 줄어들 수도 있습니다. 따라서 권장사항을 따르는 것이 더욱 중요합니다.
- 권한을 요청하기 전에 필요한 컨텍스트를 제공합니다. 기능이 도움이 되는 이유를 사용자에게 설명하세요.
- 적절하고 예상되는 순간에 권한을 요청합니다. 사용자가 특정 기능을 자신의 속도에 맞게 사용하겠다는 의사를 표현하게 하는 것이 가장 좋습니다.
- 사용자가 방문하는 동안 일회성 옵션을 선택했는지 또는 영구 옵션을 선택했는지에 관계없이 동일한 환경을 제공합니다.
권한 UX에서 추가 안내를 검토하세요.
일회성 권한 만료
기본적으로 모든 웹 권한은 출처에 결합되어 있으며, 원본은 그 자체를 앱으로 간주할 수 있습니다. 이번만 허용을 사용하면 사용자가 출처에 일회성 권한을 부여합니다. 본질적으로 일회성 권한은 사용자가 한동안 해당 출처와의 활발한 상호작용을 중지하면 만료됩니다. 즉, 사용자가 다른 탭에서 다른 웹페이지로 잠시 전환했다가 다시 돌아오면 사이트에서 이 기능을 계속 사용할 수 있습니다.
즉, 일회성 권한 부여는 다음 조건 중 하나가 충족되는 즉시 만료됩니다.
- 페이지가 닫혔거나 다른 페이지로 이동했거나 페이지가 삭제되었습니다. 여기에는 Chrome을 닫는 것도 포함됩니다.
- 권한 부여 후 16시간이 지났습니다.
- 사용자가 권한을 수동으로 취소하거나 (예: 사이트 제어에서) 엔터프라이즈 정책을 통해 권한이 재정의됩니다.
- 기능이 백그라운드에서 실행(예: 카메라 또는 마이크)되는 경우를 제외하고 페이지가 5분 이상 백그라운드에 있어야 합니다. 이 경우 사이트에서 이 기능을 사용하는 한 Chrome에서는 탭 표시줄 표시기를 표시하고 페이지에서 기능 사용을 중지할 때까지 5분 타이머를 시작하지 않습니다. 16시간 타이머는 계속 실행됩니다.
배경 탭
브라우저 탭은 포그라운드에 있지 않을 때 백그라운드에 있습니다. 탭이 최소화되지 않은 브라우저 창에 표시되는 탭인 경우 포그라운드에 있습니다.
Chrome에서 위치정보와 같은 일부 기능은 포그라운드 탭에서만 실행될 수 있습니다. 백그라운드 탭에서 실행할 수 없습니다. 카메라, 마이크와 같은 다른 기능은 백그라운드 탭에서 실행할 수 있습니다.
탭 표시줄 표시기
탭이 백그라운드에 있을 때 계속 실행되는 기능에는 탭 표시줄 표시기가 있습니다. 예를 들어 카메라에는 탭 표시줄 표시기가 있습니다.
![빨간색 점이 있는 탭](https://developer.chrome.com/static/blog/one-time-permissions/images/a-tab-a-red-dot-ffdcc0b012d03.jpg?authuser=19&hl=ko)
페이지가 백그라운드에서 실행되는 즉시 위치정보 액세스가 일시중지되므로 위치정보에는 탭 표시줄 표시기가 필요하지 않습니다.
예
- Geolocation: 사용자가
example.com
에 있으며 일회성 위치정보 액세스 권한을 부여합니다. 사용자가 다른 탭으로 전환합니다. 이렇게 하면example.com
가 백그라운드 탭이 됩니다. Chrome에서 백그라운드 위치정보 액세스를 허용하지 않으므로 위치정보 액세스가 즉시 일시중지되지만 일회성 권한 부여는 여전히 유효합니다. 사용자가 5분 이내에example.com
로 돌아오면 페이지에서 위치정보 액세스를 재개할 수 있습니다 (5분 만료 타이머가 재설정됨). 그렇지 않으면 일회성 권한이 만료됩니다. - 카메라/마이크: 사용자가
example.com
를 사용 중이며 일회성 카메라 액세스 권한을 부여합니다. 사용자가 다른 탭으로 전환합니다. 이렇게 하면example.com
가 백그라운드 탭이 됩니다. Chrome이 백그라운드에서 카메라 액세스를 계속 허용하므로 카메라 액세스를 계속할 수 있습니다. Chrome은 사용자에게 정보를 제공하기 위해 사용되는 동안 카메라의 탭 표시줄 표시기를 계속 표시합니다. 일정 시점이 되면 사이트에서 카메라 액세스를 중지할 수 있으며, 이 경우 5분 만료 타이머가 시작됩니다. 카메라 액세스 없이 5분이 지나면 일회성 권한이 만료됩니다.
Permissions API
API 권한의 상태를 쿼리하려면 Permissions API를 사용할 수 있습니다.
- 사용자가 이번만 허용을 선택하면 Permission API 상태가
granted
로 설정됩니다. 즉, 만료되지 않은 일회성 권한과 영구 권한을 구별할 수 없으며 상태(granted
)가 동일합니다. - 일회성 권한이 만료되면 상태가 다시
prompt
(으)로 설정됩니다. - 일회성 권한의 만료를 관찰하려면
PermissionStatus.onchange
이벤트 핸들러를 등록하세요.
데모
- 데스크톱 컴퓨터에서 Chrome 116 이상을 엽니다.
chrome://flags/#one-time-permission
를 열고 사용 설정을 선택합니다. Chrome을 다시 시작합니다. Chrome 브라우저에 아직 출시되지 않은 경우 이 단계를 통해 일회성 권한을 강제로 사용 설정합니다.- https://permission.site/one-time을 엽니다.
- Geolocation 버튼을 클릭합니다.
- 새로운 일회성 권한 메시지를 확인합니다.
- 이번만 허용을 선택합니다.
- 사이트 제어를 엽니다. 일회성 권한을 관리할 수 있는지 확인합니다.
- https://permission.site/one-time 탭을 닫습니다. 해당 출처의 다른 탭이 열려 있지 않은지 확인합니다.
- 새 탭에서 https://permission.site/one-time을 엽니다.
- 사이트 제어를 엽니다. 사이트 설정으로 이동합니다.
- 위치정보 권한이 초기 상태로 돌아왔습니다. Ask (default)
결론 및 피드백
일회성 권한은 사용자에게 더 많은 선택권을 제공하며 Chrome의 새로운 권한 UI는 브라우저와 플랫폼 전반에 걸쳐 더 일관된 권한 사용자 환경을 제공합니다.
일회성 권한에 문제가 발생하면 권한 메시지에 관한 새로운 crbug 문제를 신고합니다.
감사의 말
이 글을 검토해 주신 Rachel Andrew, Serena Chen, Balazs Engedy, Marian Harbach, Florian Jacky, Thomas Steiner에게 감사드립니다.