Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ko] PushSubscription.getKey(), toJSON() 신규 번역 #22873

Merged
merged 3 commits into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions files/ko/web/api/pushsubscription/getkey/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
title: "PushSubscription: getKey() 메서드"
short-title: getKey()
slug: Web/API/PushSubscription/getKey
l10n:
sourceCommit: 3a91caa0ebbc5131ed75afe0e5168cd5bffc0976
---

{{APIRef("Push API")}}{{SecureContext_Header}}{{AvailableInWorkers}}

{{domxref("PushSubscription")}} 인터페이스의 `getKey()` 메서드는
클라이언트 공개 키를 나타내는 {{jsxref("ArrayBuffer")}}를 반환하며,
이는 서버로 전송되어 푸시 메시지 데이터를 암호화하는 데 사용할 수 있습니다.

## 구문

```js-nolint
getKey(name)
```

### 매개변수

- `name`

- : 클라이언트 키를 생성하는 데 사용되는 암호화 방식을 나타내는 문자열.
값은 다음과 같습니다.

- `p256dh`
- : P-256 곡선(즉, NIST secp256r1 타원 곡선) 상의
[타원 곡선 디피-헬만](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman) 공개 키.
그 결과 키는 ANSI X9.62 형식의 압축되지 않은 점입니다.
- `auth`
- : [웹 푸시 메시지 암호화](https://datatracker.ietf.org/doc/html/draft-ietf-webpush-encryption-08)에서 인증 비밀.

### 반환 값

{{jsxref("ArrayBuffer")}} 또는 공개 키를 찾을 수 없는 경우 `null`.

## 예제

```js
reg.pushManager.getSubscription().then((subscription) => {
// 푸시 메시지를 구독/구독 취소하는
// 모든 UI를 사용할 수 있게 합니다.

subBtn.disabled = false;

if (!subscription) {
console.log("Not yet subscribed to Push");
// 푸시를 구독하지 않았으므로,
// 사용자가 푸시를 활성화할 수 있도록 UI를 설정합니다
return;
}

// 사용자가 푸시 메시지 구독한 것을 보여주기 위해
// UI를 설정합니다
subBtn.textContent = "Unsubscribe from Push Messaging";
isPushEnabled = true;

// 구독 상태에 대한 UI 요소 설정 및
// 푸시를 통한 구독자 목록 갱신이 포함된 상태 초기화
const endpoint = subscription.endpoint;
const key = subscription.getKey("p256dh");
const auth = subscription.getKey("auth");

// ...
});
```

## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}
47 changes: 47 additions & 0 deletions files/ko/web/api/pushsubscription/tojson/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: "PushSubscription: toJSON() 메서드"
short-title: toJSON()
slug: Web/API/PushSubscription/toJSON
l10n:
sourceCommit: 3a91caa0ebbc5131ed75afe0e5168cd5bffc0976
---

{{APIRef("Push API")}}{{SecureContext_Header}}{{AvailableInWorkers}}

{{domxref("PushSubscription")}} 인터페이스의 `toJSON()` 메서드는
표준 직렬 변환기입니다. 구독 속성의 JSON 표현을 반환하여
유용한 단축 방법을 제공합니다.

## 구문

```js-nolint
toJSON()
```

### 매개변수

없음.

### 반환 값

JSON 객체. 이 객체는 구독 엔드포인트, `expirationTime` 그리고 공개 키를 포함하며,
각각은 `endpoint` 멤버, `expirationTime` 멤버, `keys` 멤버입니다.

## 예제

```js
navigator.serviceWorker.ready.then((reg) => {
reg.pushManager.getSubscription().then((subscription) => {
const mySubscription = subscription.toJSON();
// 구독 세부 정보로 무언가 하기
});
});
```

## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}