Keycloak

Форк
0
/
realmRepresentation.ts 
145 строк · 4.9 Кб
1
import type ClientRepresentation from "./clientRepresentation.js";
2
import type ComponentExportRepresentation from "./componentExportRepresentation.js";
3
import type UserRepresentation from "./userRepresentation.js";
4
import type GroupRepresentation from "./groupRepresentation.js";
5
import type IdentityProviderRepresentation from "./identityProviderRepresentation.js";
6
import type RequiredActionProviderRepresentation from "./requiredActionProviderRepresentation.js";
7
import type RolesRepresentation from "./rolesRepresentation.js";
8
import type ClientProfilesRepresentation from "./clientProfilesRepresentation.js";
9
import type ClientPoliciesRepresentation from "./clientPoliciesRepresentation.js";
10
import type RoleRepresentation from "./roleRepresentation.js";
11

12
/**
13
 * https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_realmrepresentation
14
 */
15

16
export default interface RealmRepresentation {
17
  accessCodeLifespan?: number;
18
  accessCodeLifespanLogin?: number;
19
  accessCodeLifespanUserAction?: number;
20
  accessTokenLifespan?: number;
21
  accessTokenLifespanForImplicitFlow?: number;
22
  accountTheme?: string;
23
  actionTokenGeneratedByAdminLifespan?: number;
24
  actionTokenGeneratedByUserLifespan?: number;
25
  adminEventsDetailsEnabled?: boolean;
26
  adminEventsEnabled?: boolean;
27
  adminTheme?: string;
28
  attributes?: Record<string, any>;
29
  // AuthenticationFlowRepresentation
30
  authenticationFlows?: any[];
31
  // AuthenticatorConfigRepresentation
32
  authenticatorConfig?: any[];
33
  browserFlow?: string;
34
  browserSecurityHeaders?: Record<string, any>;
35
  bruteForceProtected?: boolean;
36
  clientAuthenticationFlow?: string;
37
  clientScopeMappings?: Record<string, any>;
38
  // ClientScopeRepresentation
39
  clientScopes?: any[];
40
  clients?: ClientRepresentation[];
41
  clientPolicies?: ClientPoliciesRepresentation;
42
  clientProfiles?: ClientProfilesRepresentation;
43
  components?: { [index: string]: ComponentExportRepresentation };
44
  defaultDefaultClientScopes?: string[];
45
  defaultGroups?: string[];
46
  defaultLocale?: string;
47
  defaultOptionalClientScopes?: string[];
48
  defaultRoles?: string[];
49
  defaultRole?: RoleRepresentation;
50
  defaultSignatureAlgorithm?: string;
51
  directGrantFlow?: string;
52
  displayName?: string;
53
  displayNameHtml?: string;
54
  dockerAuthenticationFlow?: string;
55
  duplicateEmailsAllowed?: boolean;
56
  editUsernameAllowed?: boolean;
57
  emailTheme?: string;
58
  enabled?: boolean;
59
  enabledEventTypes?: string[];
60
  eventsEnabled?: boolean;
61
  eventsExpiration?: number;
62
  eventsListeners?: string[];
63
  failureFactor?: number;
64
  federatedUsers?: UserRepresentation[];
65
  groups?: GroupRepresentation[];
66
  id?: string;
67
  // IdentityProviderMapperRepresentation
68
  identityProviderMappers?: any[];
69
  identityProviders?: IdentityProviderRepresentation[];
70
  internationalizationEnabled?: boolean;
71
  keycloakVersion?: string;
72
  loginTheme?: string;
73
  loginWithEmailAllowed?: boolean;
74
  maxDeltaTimeSeconds?: number;
75
  maxFailureWaitSeconds?: number;
76
  maxTemporaryLockouts?: number;
77
  minimumQuickLoginWaitSeconds?: number;
78
  notBefore?: number;
79
  oauth2DeviceCodeLifespan?: number;
80
  oauth2DevicePollingInterval?: number;
81
  offlineSessionIdleTimeout?: number;
82
  offlineSessionMaxLifespan?: number;
83
  offlineSessionMaxLifespanEnabled?: boolean;
84
  otpPolicyAlgorithm?: string;
85
  otpPolicyDigits?: number;
86
  otpPolicyInitialCounter?: number;
87
  otpPolicyLookAheadWindow?: number;
88
  otpPolicyPeriod?: number;
89
  otpPolicyType?: string;
90
  otpSupportedApplications?: string[];
91
  otpPolicyCodeReusable?: boolean;
92
  passwordPolicy?: string;
93
  permanentLockout?: boolean;
94
  // ProtocolMapperRepresentation
95
  protocolMappers?: any[];
96
  quickLoginCheckMilliSeconds?: number;
97
  realm?: string;
98
  refreshTokenMaxReuse?: number;
99
  registrationAllowed?: boolean;
100
  registrationEmailAsUsername?: boolean;
101
  registrationFlow?: string;
102
  rememberMe?: boolean;
103
  requiredActions?: RequiredActionProviderRepresentation[];
104
  resetCredentialsFlow?: string;
105
  resetPasswordAllowed?: boolean;
106
  revokeRefreshToken?: boolean;
107
  roles?: RolesRepresentation;
108
  // ScopeMappingRepresentation
109
  scopeMappings?: any[];
110
  smtpServer?: Record<string, any>;
111
  sslRequired?: string;
112
  ssoSessionIdleTimeout?: number;
113
  ssoSessionIdleTimeoutRememberMe?: number;
114
  ssoSessionMaxLifespan?: number;
115
  ssoSessionMaxLifespanRememberMe?: number;
116
  clientSessionIdleTimeout?: number;
117
  clientSessionMaxLifespan?: number;
118
  supportedLocales?: string[];
119
  // UserFederationMapperRepresentation
120
  userFederationMappers?: any[];
121
  // UserFederationProviderRepresentation
122
  userFederationProviders?: any[];
123
  userManagedAccessAllowed?: boolean;
124
  users?: UserRepresentation[];
125
  verifyEmail?: boolean;
126
  waitIncrementSeconds?: number;
127
}
128

129
export type PartialImportRealmRepresentation = RealmRepresentation & {
130
  ifResourceExists: "FAIL" | "SKIP" | "OVERWRITE";
131
};
132

133
export type PartialImportResponse = {
134
  overwritten: number;
135
  added: number;
136
  skipped: number;
137
  results: PartialImportResult[];
138
};
139

140
export type PartialImportResult = {
141
  action: string;
142
  resourceType: string;
143
  resourceName: string;
144
  id: string;
145
};
146

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.