File: fedcm.idl

package info (click to toggle)
firefox 144.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,637,504 kB
  • sloc: cpp: 7,576,692; javascript: 6,430,831; ansic: 3,748,119; python: 1,398,978; xml: 628,810; asm: 438,679; java: 186,194; sh: 63,212; makefile: 19,159; objc: 13,086; perl: 12,986; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (140 lines) | stat: -rw-r--r-- 3,608 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Federated Credential Management API (https://w3c-fedid.github.io/FedCM/)

dictionary IdentityCredentialDisconnectOptions : IdentityProviderConfig {
  required USVString accountHint;
};

[Exposed=Window, SecureContext]
interface IdentityCredential : Credential {
  static Promise<undefined> disconnect(IdentityCredentialDisconnectOptions options);
  readonly attribute any token;
  readonly attribute boolean isAutoSelected;
  readonly attribute USVString configURL;
};

dictionary DisconnectedAccount {
  required USVString account_id;
};

dictionary IdentityCredentialErrorInit {
  DOMString error;
  USVString url;
};

[Exposed=Window, SecureContext]
interface IdentityCredentialError : DOMException {
  constructor(optional DOMString message = "", optional IdentityCredentialErrorInit options = {});
  readonly attribute DOMString error;
  readonly attribute USVString url;
};

partial dictionary CredentialRequestOptions {
  IdentityCredentialRequestOptions identity;
};

enum IdentityCredentialRequestOptionsContext {
  "signin",
  "signup",
  "use",
  "continue"
};

enum IdentityCredentialRequestOptionsMode {
  "active",
  "passive"
};

dictionary IdentityCredentialRequestOptions {
  required sequence<IdentityProviderRequestOptions> providers;
  IdentityCredentialRequestOptionsContext context = "signin";
  IdentityCredentialRequestOptionsMode mode = "passive";
};

dictionary IdentityProviderConfig {
  required USVString configURL;
  required USVString clientId;
};

dictionary IdentityProviderRequestOptions : IdentityProviderConfig {
  DOMString loginHint;
  DOMString domainHint;
  sequence<USVString> fields;
  any params;
};

dictionary IdentityProviderWellKnown {
  sequence<USVString> provider_urls;
  USVString accounts_endpoint;
  USVString login_url;
};

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;
  USVString client_metadata_endpoint;
  required USVString id_assertion_endpoint;
  required USVString login_url;
  USVString disconnect_endpoint;
  IdentityProviderBranding branding;
  boolean supports_use_other_account = false;
  USVString account_label;
};

dictionary IdentityProviderAccount {
  required USVString id;
  USVString name;
  USVString email;
  USVString tel;
  USVString username;
  USVString given_name;
  USVString picture;
  sequence<USVString> approved_clients;
  sequence<DOMString> login_hints;
  sequence<DOMString> domain_hints;
  sequence<DOMString> label_hints;
};
dictionary IdentityProviderAccountList {
  sequence<IdentityProviderAccount> accounts;
};

dictionary IdentityAssertionResponse {
  any token;
  USVString continue_on;
  IdentityCredentialErrorInit error;
};

dictionary IdentityProviderClientMetadata {
  USVString privacy_policy_url;
  USVString terms_of_service_url;
};

dictionary IdentityUserInfo {
  USVString email;
  USVString name;
  USVString givenName;
  USVString picture;
};

dictionary IdentityResolveOptions {
  USVString accountId;
};

[Exposed=Window, SecureContext] interface IdentityProvider {
    static undefined close();
    static Promise<undefined> resolve(any token, optional IdentityResolveOptions options = {});
    static Promise<sequence<IdentityUserInfo>> getUserInfo(IdentityProviderConfig config);
};