summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/FedCM.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/FedCM.idl')
-rw-r--r--testing/web-platform/tests/interfaces/FedCM.idl121
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);
+};