chromium/third_party/blink/renderer/modules/credentialmanagement/identity_provider_config.idl

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://fedidcg.github.io/FedCM/#dictdef-identityproviderconfig

dictionary IdentityProviderConfig {
  // URL for the Identity Provider Configuration.
  // Not marked as required to allow implementation of registered providers.
  // See crbug.com/1406698.
  USVString configURL;
  // Not marked as required to allow implementation of digital credentials.
  // See crbug.com/1416939.
  USVString clientId;
  // The type of Identity Provider that is compatible with the RP.
  // Used to only use compatible providers.
  [RuntimeEnabled=FedCmIdPRegistration] DOMString type;
};

dictionary IdentityProviderRequestOptions : IdentityProviderConfig {
  USVString nonce;
  DOMString loginHint;
  [RuntimeEnabled=FedCmDomainHint] DOMString domainHint;
  [RuntimeEnabled=FedCmAuthz] sequence<USVString> fields;
  [RuntimeEnabled=FedCmAuthz] record<USVString, USVString> params;
};