mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 11:55:49 +00:00
Bug 1536097 - Part 2 - convert WebAuthnMaybeMakeCredentialExtraInfo to use a native IPDL maybe; r=jcj
Depends on D24062 Differential Revision: https://phabricator.services.mozilla.com/D24063 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
8db559a3fd
commit
936775f7b8
@ -270,7 +270,7 @@ void U2F::Register(const nsAString& aAppId,
|
||||
|
||||
WebAuthnMakeCredentialInfo info(mOrigin, adjustedAppId, challenge, clientData,
|
||||
adjustedTimeoutMillis, excludeList,
|
||||
null_t() /* no extra info for U2F */);
|
||||
Nothing() /* no extra info for U2F */);
|
||||
|
||||
MOZ_ASSERT(mTransaction.isNothing());
|
||||
mTransaction = Some(U2FTransaction(AsVariant(callback)));
|
||||
|
@ -75,11 +75,6 @@ struct WebAuthnMakeCredentialExtraInfo {
|
||||
uint8_t attestationConveyancePreference;
|
||||
};
|
||||
|
||||
union WebAuthnMaybeMakeCredentialExtraInfo {
|
||||
WebAuthnMakeCredentialExtraInfo;
|
||||
null_t;
|
||||
};
|
||||
|
||||
struct WebAuthnMakeCredentialInfo {
|
||||
nsString Origin;
|
||||
nsString RpId;
|
||||
@ -87,7 +82,7 @@ struct WebAuthnMakeCredentialInfo {
|
||||
nsCString ClientDataJSON;
|
||||
uint32_t TimeoutMS;
|
||||
WebAuthnScopedCredential[] ExcludeList;
|
||||
WebAuthnMaybeMakeCredentialExtraInfo Extra;
|
||||
WebAuthnMakeCredentialExtraInfo? Extra;
|
||||
};
|
||||
|
||||
struct WebAuthnMakeCredentialResult {
|
||||
|
@ -109,8 +109,8 @@ RefPtr<U2FRegisterPromise> U2FHIDTokenManager::Register(
|
||||
|
||||
uint64_t registerFlags = 0;
|
||||
|
||||
if (aInfo.Extra().type() != WebAuthnMaybeMakeCredentialExtraInfo::Tnull_t) {
|
||||
const auto& extra = aInfo.Extra().get_WebAuthnMakeCredentialExtraInfo();
|
||||
if (aInfo.Extra().isSome()) {
|
||||
const auto& extra = aInfo.Extra().ref();
|
||||
const WebAuthnAuthenticatorSelection& sel = extra.AuthenticatorSelection();
|
||||
|
||||
UserVerificationRequirement userVerificaitonRequirement =
|
||||
|
@ -574,8 +574,8 @@ RefPtr<U2FRegisterPromise> U2FSoftTokenManager::Register(
|
||||
}
|
||||
}
|
||||
|
||||
if (aInfo.Extra().type() != WebAuthnMaybeMakeCredentialExtraInfo::Tnull_t) {
|
||||
const auto& extra = aInfo.Extra().get_WebAuthnMakeCredentialExtraInfo();
|
||||
if (aInfo.Extra().isSome()) {
|
||||
const auto& extra = aInfo.Extra().ref();
|
||||
const WebAuthnAuthenticatorSelection& sel = extra.AuthenticatorSelection();
|
||||
|
||||
UserVerificationRequirement userVerificaitonRequirement =
|
||||
|
@ -281,10 +281,8 @@ void U2FTokenManager::Register(
|
||||
|
||||
// Determine whether direct attestation was requested.
|
||||
bool directAttestationRequested = false;
|
||||
if (aTransactionInfo.Extra().type() ==
|
||||
WebAuthnMaybeMakeCredentialExtraInfo::TWebAuthnMakeCredentialExtraInfo) {
|
||||
const auto& extra =
|
||||
aTransactionInfo.Extra().get_WebAuthnMakeCredentialExtraInfo();
|
||||
if (aTransactionInfo.Extra().isSome()) {
|
||||
const auto& extra = aTransactionInfo.Extra().ref();
|
||||
|
||||
AttestationConveyancePreference attestation =
|
||||
static_cast<AttestationConveyancePreference>(
|
||||
|
@ -380,7 +380,7 @@ already_AddRefed<Promise> WebAuthnManager::MakeCredential(
|
||||
|
||||
WebAuthnMakeCredentialInfo info(origin, NS_ConvertUTF8toUTF16(rpId),
|
||||
challenge, clientDataJSON, adjustedTimeout,
|
||||
excludeList, extra);
|
||||
excludeList, Some(extra));
|
||||
|
||||
#ifdef OS_WIN
|
||||
if (!WinWebAuthnManager::AreWebAuthNApisAvailable()) {
|
||||
|
@ -207,9 +207,8 @@ void WinWebAuthnManager::Register(
|
||||
// AttestationConveyance
|
||||
DWORD winAttestation = WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_ANY;
|
||||
|
||||
if (aInfo.Extra().type() ==
|
||||
WebAuthnMaybeMakeCredentialExtraInfo::TWebAuthnMakeCredentialExtraInfo) {
|
||||
const auto& extra = aInfo.Extra().get_WebAuthnMakeCredentialExtraInfo();
|
||||
if (aInfo.Extra().isSome()) {
|
||||
const auto& extra = aInfo.Extra().ref();
|
||||
|
||||
rpInfo.pwszName = extra.Rp().Name().get();
|
||||
rpInfo.pwszIcon = extra.Rp().Icon().get();
|
||||
@ -387,8 +386,7 @@ void WinWebAuthnManager::Register(
|
||||
|
||||
nsTArray<uint8_t> authenticatorData;
|
||||
|
||||
if (aInfo.Extra().type() == WebAuthnMaybeMakeCredentialExtraInfo::
|
||||
TWebAuthnMakeCredentialExtraInfo) {
|
||||
if (aInfo.Extra().isSome()) {
|
||||
authenticatorData.AppendElements(
|
||||
pWebAuthNCredentialAttestation->pbAuthenticatorData,
|
||||
pWebAuthNCredentialAttestation->cbAuthenticatorData);
|
||||
|
Loading…
Reference in New Issue
Block a user