PublicKeyCredential: метод toJSON()
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или всех поддерживающих браузерах.
Метод toJSON() интерфейса PublicKeyCredential возвращает представление типа JSON объекта PublicKeyCredential.
Свойства возвращаемого объекта зависят от того, возвращается ли учётная запись методом navigator.credentials.create() при создании пары ключей и регистрации пользователя, или методом navigator.credentials.get() при аутентификации пользователя.
Этот метод вызывается автоматически, когда веб-приложение использует JSON.stringify() для сериализации PublicKeyCredential для отправки на сервер доверенной стороны при регистрации или аутентификации пользователя. Он не предназначен для прямого вызова кодом веб-приложения.
Синтаксис
toJSON()
Параметры
Нет.
Возвращаемое значение
Представление типа JSON объекта PublicKeyCredential.
Включаемые свойства зависят от того, возвращена ли учётная запись методом navigator.credentials.create() при регистрации или методом navigator.credentials.get() при аутентификации пользователя. Значения и типы включаемых свойств такие же, как и для PublicKeyCredential, за исключением того, что используются строки, закодированные в base64url, вместо свойств типа buffer.
Свойства объекта:
id-
Значение, возвращаемое методом
PublicKeyCredential.id. rawId-
Base64url-кодированное значение
PublicKeyCredential.rawId. authenticatorAttachmentНеобязательно-
Значение, возвращаемое методом
PublicKeyCredential.authenticatorAttachment. type-
Строка
"public-key". clientExtensionResults-
Массив, содержащий base64url-кодированные версии значений, возвращённых методом
PublicKeyCredential.getClientExtensionResults(). response-
Объект свойства response зависит от того, возвращены ли учётные данные после операции регистрации или аутентификации.
-
При регистрации нового пользователя
responseбудет представлять собой представление типа JSON объектаAuthenticatorAttestationResponse, где значения типа buffer закодированы в base64url. -
При аутентификации пользователя возвращаемое значение будет представлять собой представление типа JSON объекта
AuthenticatorAssertionResponse, где значения типа buffer закодированы в base64url.
-
Примеры
При регистрации нового пользователя сервер доверенной стороны предоставляет веб-приложению информацию об ожидаемых учётных данных. Веб-приложение вызывает navigator.credentials.create() с полученной информацией (createCredentialOptions ниже), которая возвращает промис, выполняющийся с новой учётной записью (объект PublicKeyCredential).
const newCredentialInfo = await navigator.credentials.create({
createCredentialOptions,
});
Затем веб-приложение сериализует возвращённую учётную запись с помощью JSON.stringify() (который, в свою очередь, вызывает toJSON()) и отправляет её обратно на сервер.
const registration_url = "https://example.com/registration";
const apiRegOptsResp = await fetch(registration_url, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(newCredentialInfo), //Calls newCredentialInfo.toJSON
});
Спецификации
| Спецификация |
|---|
| Web Authentication: API для доступа к учётным данным с открытым ключом - Уровень 3 # dom-publickeycredential-tojson |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
toJSON |
129 | 129 | 119 | 115 | Нет | 129 | 119 | 86 | Нет | Нет | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/toJSON