diff options
Diffstat (limited to 'testing/web-platform/tests/interfaces/FedCM.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/FedCM.idl | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/FedCM.idl b/testing/web-platform/tests/interfaces/FedCM.idl new file mode 100644 index 0000000000..4070d50fcd --- /dev/null +++ b/testing/web-platform/tests/interfaces/FedCM.idl @@ -0,0 +1,121 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Federated Credential Management API (https://fedidcg.github.io/FedCM/) + +enum LoginStatus { + "logged-in", + "logged-out", +}; + +[Exposed=Window, SecureContext] + +interface NavigatorLogin { + Promise<undefined> setStatus(LoginStatus status); +}; + +partial interface Navigator { + [SecureContext] readonly attribute NavigatorLogin login; +}; + +dictionary IdentityCredentialDisconnectOptions : IdentityProviderConfig { + required USVString accountHint; +}; + +[Exposed=Window, SecureContext] +interface IdentityCredential : Credential { + static Promise<undefined> disconnect(optional IdentityCredentialDisconnectOptions options = {}); + readonly attribute USVString? token; + readonly attribute boolean isAutoSelected; +}; + +dictionary DisconnectedAccount { + required USVString account_id; +}; + +partial dictionary CredentialRequestOptions { + IdentityCredentialRequestOptions identity; +}; + +enum IdentityCredentialRequestOptionsContext { + "signin", + "signup", + "use", + "continue" +}; + +dictionary IdentityCredentialRequestOptions { + required sequence<IdentityProviderRequestOptions> providers; + IdentityCredentialRequestOptionsContext context = "signin"; +}; + +dictionary IdentityProviderConfig { + required USVString configURL; + required USVString clientId; +}; + +dictionary IdentityProviderRequestOptions : IdentityProviderConfig { + USVString nonce; + DOMString loginHint; + DOMString domainHint; +}; + +dictionary IdentityProviderWellKnown { + required sequence<USVString> provider_urls; +}; + +dictionary IdentityProviderIcon { + required USVString url; + unsigned long size; +}; + +dictionary IdentityProviderBranding { + USVString background_color; + USVString color; + sequence<IdentityProviderIcon> icons; + USVString name; +}; + +dictionary IdentityProviderAPIConfig { + required USVString accounts_endpoint; + required USVString client_metadata_endpoint; + required USVString id_assertion_endpoint; + required USVString login_url; + USVString disconnect_endpoint; + IdentityProviderBranding branding; +}; + +dictionary IdentityProviderAccount { + required USVString id; + required USVString name; + required USVString email; + USVString given_name; + USVString picture; + sequence<USVString> approved_clients; + sequence<DOMString> login_hints; + sequence<DOMString> domain_hints; +}; +dictionary IdentityProviderAccountList { + sequence<IdentityProviderAccount> accounts; +}; + +dictionary IdentityProviderToken { + required USVString token; +}; + +dictionary IdentityProviderClientMetadata { + USVString privacy_policy_url; + USVString terms_of_service_url; +}; + +dictionary IdentityUserInfo { + USVString email; + USVString name; + USVString givenName; + USVString picture; +}; + +[Exposed=Window, SecureContext] interface IdentityProvider { + static undefined close(); + static Promise<sequence<IdentityUserInfo>> getUserInfo(IdentityProviderConfig config); +}; |