· 9 years ago · Dec 14, 2016, 05:50 PM
1IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_BASE_TABLE]') AND TYPE IN (N'U'))
2CREATE TABLE IDN_BASE_TABLE (
3 PRODUCT_NAME VARCHAR(20),
4 PRIMARY KEY (PRODUCT_NAME)
5);
6
7INSERT INTO IDN_BASE_TABLE values ('WSO2 Identity Server');
8
9IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH_CONSUMER_APPS]') AND TYPE IN (N'U'))
10CREATE TABLE IDN_OAUTH_CONSUMER_APPS (
11 ID INTEGER IDENTITY,
12 CONSUMER_KEY VARCHAR(255),
13 CONSUMER_SECRET VARCHAR(512),
14 USERNAME VARCHAR(255),
15 TENANT_ID INTEGER DEFAULT 0,
16 USER_DOMAIN VARCHAR(50),
17 APP_NAME VARCHAR(255),
18 OAUTH_VERSION VARCHAR(128),
19 CALLBACK_URL VARCHAR(1024),
20 GRANT_TYPES VARCHAR(1024),
21 PKCE_MANDATORY CHAR(1) DEFAULT '0',
22 PKCE_SUPPORT_PLAIN CHAR(1) DEFAULT '0',
23 APP_STATE VARCHAR (25) DEFAULT 'ACTIVE',
24 CONSTRAINT CONSUMER_KEY_CONSTRAINT UNIQUE (CONSUMER_KEY),
25 PRIMARY KEY (ID)
26);
27
28IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH1A_REQUEST_TOKEN]') AND TYPE IN (N'U'))
29CREATE TABLE IDN_OAUTH1A_REQUEST_TOKEN (
30 REQUEST_TOKEN VARCHAR(512),
31 REQUEST_TOKEN_SECRET VARCHAR(512),
32 CONSUMER_KEY_ID INTEGER,
33 CALLBACK_URL VARCHAR(1024),
34 SCOPE VARCHAR(2048),
35 AUTHORIZED VARCHAR(128),
36 OAUTH_VERIFIER VARCHAR(512),
37 AUTHZ_USER VARCHAR(512),
38 TENANT_ID INTEGER DEFAULT -1,
39 PRIMARY KEY (REQUEST_TOKEN),
40 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
41);
42
43IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH1A_ACCESS_TOKEN]') AND TYPE IN (N'U'))
44CREATE TABLE IDN_OAUTH1A_ACCESS_TOKEN (
45 ACCESS_TOKEN VARCHAR(512),
46 ACCESS_TOKEN_SECRET VARCHAR(512),
47 CONSUMER_KEY_ID INTEGER,
48 SCOPE VARCHAR(2048),
49 AUTHZ_USER VARCHAR(512),
50 TENANT_ID INTEGER DEFAULT -1,
51 PRIMARY KEY (ACCESS_TOKEN),
52 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
53);
54
55IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH2_ACCESS_TOKEN]') AND TYPE IN (N'U'))
56CREATE TABLE IDN_OAUTH2_ACCESS_TOKEN (
57 TOKEN_ID VARCHAR (255),
58 ACCESS_TOKEN VARCHAR(255),
59 REFRESH_TOKEN VARCHAR(255),
60 CONSUMER_KEY_ID INTEGER,
61 AUTHZ_USER VARCHAR (100),
62 TENANT_ID INTEGER,
63 USER_DOMAIN VARCHAR(50),
64 USER_TYPE VARCHAR (25),
65 GRANT_TYPE VARCHAR (50),
66 TIME_CREATED DATETIME,
67 REFRESH_TOKEN_TIME_CREATED DATETIME,
68 VALIDITY_PERIOD BIGINT,
69 REFRESH_TOKEN_VALIDITY_PERIOD BIGINT,
70 TOKEN_SCOPE_HASH VARCHAR(32),
71 TOKEN_STATE VARCHAR(25) DEFAULT 'ACTIVE',
72 TOKEN_STATE_ID VARCHAR (128) DEFAULT 'NONE',
73 SUBJECT_IDENTIFIER VARCHAR(255),
74 PRIMARY KEY (TOKEN_ID),
75 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE,
76 CONSTRAINT CON_APP_KEY UNIQUE (CONSUMER_KEY_ID,AUTHZ_USER,TENANT_ID,USER_DOMAIN,USER_TYPE,TOKEN_SCOPE_HASH,
77 TOKEN_STATE,TOKEN_STATE_ID)
78);
79
80CREATE INDEX IDX_AT_CK_AU ON IDN_OAUTH2_ACCESS_TOKEN(CONSUMER_KEY_ID, AUTHZ_USER, TOKEN_STATE, USER_TYPE);
81
82CREATE INDEX IDX_TC ON IDN_OAUTH2_ACCESS_TOKEN(TIME_CREATED);
83
84IF EXISTS (SELECT NAME FROM SYSINDEXES WHERE NAME = 'IDX_AT_CK_AU')
85DROP INDEX IDN_OAUTH2_ACCESS_TOKEN.IDX_AT_CK_AU
86
87IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH2_AUTHORIZATION_CODE]') AND TYPE IN (N'U'))
88CREATE TABLE IDN_OAUTH2_AUTHORIZATION_CODE (
89 CODE_ID VARCHAR (255),
90 AUTHORIZATION_CODE VARCHAR(512),
91 CONSUMER_KEY_ID INTEGER,
92 CALLBACK_URL VARCHAR(1024),
93 SCOPE VARCHAR(2048),
94 AUTHZ_USER VARCHAR (100),
95 TENANT_ID INTEGER,
96 USER_DOMAIN VARCHAR(50),
97 TIME_CREATED DATETIME,
98 VALIDITY_PERIOD BIGINT,
99 STATE VARCHAR (25) DEFAULT 'ACTIVE',
100 TOKEN_ID VARCHAR(255),
101 SUBJECT_IDENTIFIER VARCHAR(255),
102 PKCE_CODE_CHALLENGE VARCHAR (255),
103 PKCE_CODE_CHALLENGE_METHOD VARCHAR(128),
104 PRIMARY KEY (CODE_ID),
105 FOREIGN KEY (CONSUMER_KEY_ID) REFERENCES IDN_OAUTH_CONSUMER_APPS(ID) ON DELETE CASCADE
106);
107
108CREATE INDEX IDX_AUTHORIZATION_CODE ON IDN_OAUTH2_AUTHORIZATION_CODE (AUTHORIZATION_CODE,CONSUMER_KEY_ID);
109
110IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH2_ACCESS_TOKEN_SCOPE]') AND TYPE IN (N'U'))
111CREATE TABLE IDN_OAUTH2_ACCESS_TOKEN_SCOPE (
112 TOKEN_ID VARCHAR (255),
113 TOKEN_SCOPE VARCHAR (60),
114 TENANT_ID INTEGER DEFAULT -1,
115 PRIMARY KEY (TOKEN_ID, TOKEN_SCOPE),
116 FOREIGN KEY (TOKEN_ID) REFERENCES IDN_OAUTH2_ACCESS_TOKEN(TOKEN_ID) ON DELETE CASCADE
117);
118
119IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH2_SCOPE]') AND TYPE IN (N'U'))
120CREATE TABLE IDN_OAUTH2_SCOPE (
121 SCOPE_ID INTEGER IDENTITY,
122 SCOPE_KEY VARCHAR(100) NOT NULL,
123 NAME VARCHAR(255) NULL,
124 DESCRIPTION VARCHAR(512) NULL,
125 TENANT_ID INTEGER NOT NULL DEFAULT 0,
126 ROLES VARCHAR (500) NULL,
127 PRIMARY KEY (SCOPE_ID)
128);
129
130IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OAUTH2_RESOURCE_SCOPE]') AND TYPE IN (N'U'))
131CREATE TABLE IDN_OAUTH2_RESOURCE_SCOPE (
132 RESOURCE_PATH VARCHAR(255) NOT NULL,
133 SCOPE_ID INTEGER NOT NULL,
134 TENANT_ID INTEGER DEFAULT -1,
135 PRIMARY KEY (RESOURCE_PATH),
136 FOREIGN KEY (SCOPE_ID) REFERENCES IDN_OAUTH2_SCOPE (SCOPE_ID)
137);
138
139IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_SCIM_GROUP]') AND TYPE IN (N'U'))
140CREATE TABLE IDN_SCIM_GROUP (
141 ID INTEGER IDENTITY,
142 TENANT_ID INTEGER NOT NULL,
143 ROLE_NAME VARCHAR(255) NOT NULL,
144 ATTR_NAME VARCHAR(1024) NOT NULL,
145 ATTR_VALUE VARCHAR(1024),
146 PRIMARY KEY (ID)
147);
148
149IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OPENID_REMEMBER_ME]') AND TYPE IN (N'U'))
150CREATE TABLE IDN_OPENID_REMEMBER_ME (
151 USER_NAME VARCHAR(255) NOT NULL,
152 TENANT_ID INTEGER DEFAULT 0,
153 COOKIE_VALUE VARCHAR(1024),
154 CREATED_TIME DATETIME,
155 PRIMARY KEY (USER_NAME, TENANT_ID)
156);
157
158IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OPENID_USER_RPS]') AND TYPE IN (N'U'))
159CREATE TABLE IDN_OPENID_USER_RPS (
160 USER_NAME VARCHAR(255) NOT NULL,
161 TENANT_ID INTEGER DEFAULT 0,
162 RP_URL VARCHAR(255) NOT NULL,
163 TRUSTED_ALWAYS VARCHAR(128) DEFAULT 'FALSE',
164 LAST_VISIT DATE NOT NULL,
165 VISIT_COUNT INTEGER DEFAULT 0,
166 DEFAULT_PROFILE_NAME VARCHAR(255) DEFAULT 'DEFAULT',
167 PRIMARY KEY (USER_NAME, TENANT_ID, RP_URL)
168);
169
170IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_OPENID_ASSOCIATIONS]') AND TYPE IN (N'U'))
171CREATE TABLE IDN_OPENID_ASSOCIATIONS (
172 HANDLE VARCHAR(255) NOT NULL,
173 ASSOC_TYPE VARCHAR(255) NOT NULL,
174 EXPIRE_IN DATETIME NOT NULL,
175 MAC_KEY VARCHAR(255) NOT NULL,
176 ASSOC_STORE VARCHAR(128) DEFAULT 'SHARED',
177 TENANT_ID INTEGER DEFAULT -1,
178 PRIMARY KEY (HANDLE)
179);
180
181IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_STS_STORE]') AND TYPE IN (N'U'))
182CREATE TABLE IDN_STS_STORE (
183 ID INTEGER IDENTITY,
184 TOKEN_ID VARCHAR(255) NOT NULL,
185 TOKEN_CONTENT VARBINARY(MAX) NOT NULL,
186 CREATE_DATE DATETIME NOT NULL,
187 EXPIRE_DATE DATETIME NOT NULL,
188 STATE INTEGER DEFAULT 0,
189 PRIMARY KEY (ID)
190);
191
192IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_IDENTITY_USER_DATA]') AND TYPE IN (N'U'))
193CREATE TABLE IDN_IDENTITY_USER_DATA (
194 TENANT_ID INTEGER DEFAULT -1234,
195 USER_NAME VARCHAR(255) NOT NULL,
196 DATA_KEY VARCHAR(255) NOT NULL,
197 DATA_VALUE VARCHAR(255),
198 PRIMARY KEY (TENANT_ID, USER_NAME, DATA_KEY)
199);
200
201IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_IDENTITY_META_DATA]') AND TYPE IN (N'U'))
202CREATE TABLE IDN_IDENTITY_META_DATA (
203 USER_NAME VARCHAR(255) NOT NULL,
204 TENANT_ID INTEGER DEFAULT -1234,
205 METADATA_TYPE VARCHAR(255) NOT NULL,
206 METADATA VARCHAR(255) NOT NULL,
207 VALID VARCHAR(255) NOT NULL,
208 PRIMARY KEY (TENANT_ID, USER_NAME, METADATA_TYPE,METADATA)
209);
210
211IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_THRIFT_SESSION]') AND TYPE IN (N'U'))
212CREATE TABLE IDN_THRIFT_SESSION (
213 SESSION_ID VARCHAR(255) NOT NULL,
214 USER_NAME VARCHAR(255) NOT NULL,
215 CREATED_TIME VARCHAR(255) NOT NULL,
216 LAST_MODIFIED_TIME VARCHAR(255) NOT NULL,
217 TENANT_ID INTEGER DEFAULT -1,
218 PRIMARY KEY (SESSION_ID)
219);
220
221IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_AUTH_SESSION_STORE]') AND TYPE IN (N'U'))
222CREATE TABLE IDN_AUTH_SESSION_STORE (
223 SESSION_ID VARCHAR (100) NOT NULL,
224 SESSION_TYPE VARCHAR(100) NOT NULL,
225 OPERATION VARCHAR(10) NOT NULL,
226 SESSION_OBJECT VARBINARY(MAX),
227 TIME_CREATED BIGINT,
228 TENANT_ID INTEGER DEFAULT -1,
229 PRIMARY KEY (SESSION_ID, SESSION_TYPE, TIME_CREATED, OPERATION)
230);
231
232IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_APP]') AND TYPE IN (N'U'))
233CREATE TABLE SP_APP (
234 ID INTEGER NOT NULL IDENTITY,
235 TENANT_ID INTEGER NOT NULL,
236 APP_NAME VARCHAR (255) NOT NULL ,
237 USER_STORE VARCHAR (255) NOT NULL,
238 USERNAME VARCHAR (255) NOT NULL ,
239 DESCRIPTION VARCHAR (1024),
240 ROLE_CLAIM VARCHAR (512),
241 AUTH_TYPE VARCHAR (255) NOT NULL,
242 PROVISIONING_USERSTORE_DOMAIN VARCHAR (512),
243 IS_LOCAL_CLAIM_DIALECT CHAR(1) DEFAULT '1',
244 IS_SEND_LOCAL_SUBJECT_ID CHAR(1) DEFAULT '0',
245 IS_SEND_AUTH_LIST_OF_IDPS CHAR(1) DEFAULT '0',
246 IS_USE_TENANT_DOMAIN_SUBJECT CHAR(1) DEFAULT '1',
247 IS_USE_USER_DOMAIN_SUBJECT CHAR(1) DEFAULT '1',
248 ENABLE_AUTHORIZATION CHAR(1) DEFAULT '0',
249 SUBJECT_CLAIM_URI VARCHAR (512),
250 IS_SAAS_APP CHAR(1) DEFAULT '0',
251 IS_DUMB_MODE CHAR(1) DEFAULT '0',
252 PRIMARY KEY (ID));
253
254ALTER TABLE SP_APP ADD CONSTRAINT APPLICATION_NAME_CONSTRAINT UNIQUE(APP_NAME, TENANT_ID);
255
256IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_METADATA]') AND TYPE IN (N'U'))
257CREATE TABLE SP_METADATA (
258 ID INTEGER IDENTITY,
259 SP_ID INTEGER,
260 NAME VARCHAR(255) NOT NULL,
261 VALUE VARCHAR(255) NOT NULL,
262 DISPLAY_NAME VARCHAR(255),
263 TENANT_ID INTEGER DEFAULT -1,
264 PRIMARY KEY (ID),
265 CONSTRAINT SP_METADATA_CONSTRAINT UNIQUE (SP_ID, NAME),
266 FOREIGN KEY (SP_ID) REFERENCES SP_APP(ID) ON DELETE CASCADE);
267
268IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_INBOUND_AUTH]') AND TYPE IN (N'U'))
269CREATE TABLE SP_INBOUND_AUTH (
270 ID INTEGER NOT NULL IDENTITY,
271 TENANT_ID INTEGER NOT NULL,
272 INBOUND_AUTH_KEY VARCHAR (255),
273 INBOUND_AUTH_TYPE VARCHAR (255) NOT NULL,
274 INBOUND_CONFIG_TYPE VARCHAR (255) NOT NULL,
275 PROP_NAME VARCHAR (255),
276 PROP_VALUE VARCHAR (1024) ,
277 APP_ID INTEGER NOT NULL,
278 PRIMARY KEY (ID));
279
280ALTER TABLE SP_INBOUND_AUTH ADD CONSTRAINT APPLICATION_ID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
281
282IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_AUTH_STEP]') AND TYPE IN (N'U'))
283CREATE TABLE SP_AUTH_STEP (
284 ID INTEGER NOT NULL IDENTITY,
285 TENANT_ID INTEGER NOT NULL,
286 STEP_ORDER INTEGER DEFAULT 1,
287 APP_ID INTEGER NOT NULL,
288 IS_SUBJECT_STEP CHAR(1) DEFAULT '0',
289 IS_ATTRIBUTE_STEP CHAR(1) DEFAULT '0',
290 PRIMARY KEY (ID));
291
292ALTER TABLE SP_AUTH_STEP ADD CONSTRAINT APPLICATION_ID_CONSTRAINT_STEP FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
293
294IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_FEDERATED_IDP]') AND TYPE IN (N'U'))
295CREATE TABLE SP_FEDERATED_IDP (
296 ID INTEGER NOT NULL,
297 TENANT_ID INTEGER NOT NULL,
298 AUTHENTICATOR_ID INTEGER NOT NULL,
299 PRIMARY KEY (ID, AUTHENTICATOR_ID));
300
301ALTER TABLE SP_FEDERATED_IDP ADD CONSTRAINT STEP_ID_CONSTRAINT FOREIGN KEY (ID) REFERENCES SP_AUTH_STEP (ID) ON DELETE CASCADE;
302
303IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_CLAIM_MAPPING]') AND TYPE IN (N'U'))
304CREATE TABLE SP_CLAIM_MAPPING (
305 ID INTEGER NOT NULL IDENTITY,
306 TENANT_ID INTEGER NOT NULL,
307 IDP_CLAIM VARCHAR (512) NOT NULL ,
308 SP_CLAIM VARCHAR (512) NOT NULL ,
309 APP_ID INTEGER NOT NULL,
310 IS_REQUESTED VARCHAR(128) DEFAULT '0',
311 IS_MANDATORY VARCHAR(128) DEFAULT '0',
312 DEFAULT_VALUE VARCHAR(255),
313 PRIMARY KEY (ID));
314
315ALTER TABLE SP_CLAIM_MAPPING ADD CONSTRAINT CLAIMID_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
316
317IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_ROLE_MAPPING]') AND TYPE IN (N'U'))
318CREATE TABLE SP_ROLE_MAPPING (
319 ID INTEGER NOT NULL IDENTITY,
320 TENANT_ID INTEGER NOT NULL,
321 IDP_ROLE VARCHAR (255) NOT NULL ,
322 SP_ROLE VARCHAR (255) NOT NULL ,
323 APP_ID INTEGER NOT NULL,
324 PRIMARY KEY (ID));
325
326ALTER TABLE SP_ROLE_MAPPING ADD CONSTRAINT ROLEID_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
327
328IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_REQ_PATH_AUTHENTICATOR]') AND TYPE IN (N'U'))
329CREATE TABLE SP_REQ_PATH_AUTHENTICATOR (
330 ID INTEGER NOT NULL IDENTITY,
331 TENANT_ID INTEGER NOT NULL,
332 AUTHENTICATOR_NAME VARCHAR (255) NOT NULL ,
333 APP_ID INTEGER NOT NULL,
334 PRIMARY KEY (ID));
335
336ALTER TABLE SP_REQ_PATH_AUTHENTICATOR ADD CONSTRAINT REQ_AUTH_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
337IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[SP_PROVISIONING_CONNECTOR]') AND TYPE IN (N'U'))
338CREATE TABLE SP_PROVISIONING_CONNECTOR (
339 ID INTEGER NOT NULL IDENTITY,
340 TENANT_ID INTEGER NOT NULL,
341 IDP_NAME VARCHAR (255) NOT NULL,
342 CONNECTOR_NAME VARCHAR (255) NOT NULL,
343 APP_ID INTEGER NOT NULL,
344 IS_JIT_ENABLED CHAR(1) NOT NULL DEFAULT '0',
345 BLOCKING CHAR(1) NOT NULL DEFAULT '0',
346 RULE_ENABLED CHAR(1) NOT NULL DEFAULT '0',
347 PRIMARY KEY (ID));
348
349ALTER TABLE SP_PROVISIONING_CONNECTOR ADD CONSTRAINT PRO_CONNECTOR_APPID_CONSTRAINT FOREIGN KEY (APP_ID) REFERENCES SP_APP (ID) ON DELETE CASCADE;
350
351IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP]') AND TYPE IN (N'U'))
352CREATE TABLE IDP (
353 ID INTEGER IDENTITY,
354 TENANT_ID INTEGER,
355 NAME VARCHAR(254) NOT NULL,
356 IS_ENABLED CHAR(1) NOT NULL DEFAULT '1',
357 IS_PRIMARY CHAR(1) NOT NULL DEFAULT '0',
358 HOME_REALM_ID VARCHAR(254),
359 IMAGE VARBINARY(MAX),
360 CERTIFICATE VARBINARY(MAX),
361 ALIAS VARCHAR(254),
362 INBOUND_PROV_ENABLED CHAR (1) NOT NULL DEFAULT '0',
363 INBOUND_PROV_USER_STORE_ID VARCHAR(254),
364 USER_CLAIM_URI VARCHAR(254),
365 ROLE_CLAIM_URI VARCHAR(254),
366 DESCRIPTION VARCHAR (1024),
367 DEFAULT_AUTHENTICATOR_NAME VARCHAR(254),
368 DEFAULT_PRO_CONNECTOR_NAME VARCHAR(254),
369 PROVISIONING_ROLE VARCHAR(128),
370 IS_FEDERATION_HUB CHAR(1) NOT NULL DEFAULT '0',
371 IS_LOCAL_CLAIM_DIALECT CHAR(1) NOT NULL DEFAULT '0',
372 PRIMARY KEY (ID),
373 DISPLAY_NAME VARCHAR(255),
374 UNIQUE (TENANT_ID, NAME));
375
376IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_ROLE]') AND TYPE IN (N'U'))
377CREATE TABLE IDP_ROLE (
378 ID INTEGER IDENTITY,
379 IDP_ID INTEGER,
380 TENANT_ID INTEGER,
381 ROLE VARCHAR(254),
382 PRIMARY KEY (ID),
383 UNIQUE (IDP_ID, ROLE),
384 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE);
385
386IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_ROLE_MAPPING]') AND TYPE IN (N'U'))
387CREATE TABLE IDP_ROLE_MAPPING (
388 ID INTEGER IDENTITY,
389 IDP_ROLE_ID INTEGER,
390 TENANT_ID INTEGER,
391 USER_STORE_ID VARCHAR (253),
392 LOCAL_ROLE VARCHAR(253),
393 PRIMARY KEY (ID),
394 UNIQUE (IDP_ROLE_ID, TENANT_ID, USER_STORE_ID, LOCAL_ROLE),
395 FOREIGN KEY (IDP_ROLE_ID) REFERENCES IDP_ROLE(ID) ON DELETE CASCADE);
396
397IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_CLAIM]') AND TYPE IN (N'U'))
398CREATE TABLE IDP_CLAIM (
399 ID INTEGER IDENTITY,
400 IDP_ID INTEGER,
401 TENANT_ID INTEGER,
402 CLAIM VARCHAR(254),
403 PRIMARY KEY (ID),
404 UNIQUE (IDP_ID, CLAIM),
405 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE);
406
407IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_CLAIM_MAPPING]') AND TYPE IN (N'U'))
408CREATE TABLE IDP_CLAIM_MAPPING (
409 ID INTEGER IDENTITY,
410 IDP_CLAIM_ID INTEGER,
411 TENANT_ID INTEGER,
412 LOCAL_CLAIM VARCHAR(253),
413 DEFAULT_VALUE VARCHAR(255),
414 IS_REQUESTED VARCHAR(128) DEFAULT '0',
415 PRIMARY KEY (ID),
416 UNIQUE (IDP_CLAIM_ID, TENANT_ID, LOCAL_CLAIM),
417 FOREIGN KEY (IDP_CLAIM_ID) REFERENCES IDP_CLAIM(ID) ON DELETE CASCADE);
418
419IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_AUTHENTICATOR]') AND TYPE IN (N'U'))
420CREATE TABLE IDP_AUTHENTICATOR (
421 ID INTEGER IDENTITY,
422 TENANT_ID INTEGER,
423 IDP_ID INTEGER,
424 NAME VARCHAR(255) NOT NULL,
425 IS_ENABLED CHAR (1) DEFAULT '1',
426 DISPLAY_NAME VARCHAR(255),
427 PRIMARY KEY (ID),
428 UNIQUE (TENANT_ID, IDP_ID, NAME),
429 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE);
430
431IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_METADATA]') AND TYPE IN (N'U'))
432CREATE TABLE IDP_METADATA (
433 ID INTEGER IDENTITY,
434 IDP_ID INTEGER,
435 NAME VARCHAR(255) NOT NULL,
436 VALUE VARCHAR(255) NOT NULL,
437 DISPLAY_NAME VARCHAR(255),
438 TENANT_ID INTEGER DEFAULT -1,
439 PRIMARY KEY (ID),
440 CONSTRAINT IDP_METADATA_CONSTRAINT UNIQUE (IDP_ID, NAME),
441 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE);
442
443IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_AUTHENTICATOR_PROPERTY]') AND TYPE IN (N'U'))
444CREATE TABLE IDP_AUTHENTICATOR_PROPERTY (
445 ID INTEGER IDENTITY,
446 TENANT_ID INTEGER,
447 AUTHENTICATOR_ID INTEGER,
448 PROPERTY_KEY VARCHAR(255) NOT NULL,
449 PROPERTY_VALUE VARCHAR(2047),
450 IS_SECRET CHAR (1) DEFAULT '0',
451 PRIMARY KEY (ID),
452 UNIQUE (TENANT_ID, AUTHENTICATOR_ID, PROPERTY_KEY),
453 FOREIGN KEY (AUTHENTICATOR_ID) REFERENCES IDP_AUTHENTICATOR(ID) ON DELETE CASCADE);
454
455IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_PROVISIONING_CONFIG]') AND TYPE IN (N'U'))
456CREATE TABLE IDP_PROVISIONING_CONFIG (
457 ID INTEGER IDENTITY,
458 TENANT_ID INTEGER,
459 IDP_ID INTEGER,
460 PROVISIONING_CONNECTOR_TYPE VARCHAR(255) NOT NULL,
461 IS_ENABLED CHAR (1) DEFAULT '0',
462 IS_BLOCKING CHAR (1) DEFAULT '0',
463 IS_RULES_ENABLED CHAR (1) DEFAULT '0',
464 PRIMARY KEY (ID),
465 UNIQUE (TENANT_ID, IDP_ID, PROVISIONING_CONNECTOR_TYPE),
466 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE);
467
468IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_PROV_CONFIG_PROPERTY]') AND TYPE IN (N'U'))
469CREATE TABLE IDP_PROV_CONFIG_PROPERTY (
470 ID INTEGER IDENTITY,
471 TENANT_ID INTEGER,
472 PROVISIONING_CONFIG_ID INTEGER,
473 PROPERTY_KEY VARCHAR(255) NOT NULL,
474 PROPERTY_VALUE VARCHAR(2048),
475 PROPERTY_BLOB_VALUE VARBINARY(MAX),
476 PROPERTY_TYPE CHAR(32) NOT NULL,
477 IS_SECRET CHAR (1) DEFAULT '0',
478 PRIMARY KEY (ID),
479 UNIQUE (TENANT_ID, PROVISIONING_CONFIG_ID, PROPERTY_KEY),
480 FOREIGN KEY (PROVISIONING_CONFIG_ID) REFERENCES IDP_PROVISIONING_CONFIG(ID) ON DELETE CASCADE);
481
482IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_PROVISIONING_ENTITY]') AND TYPE IN (N'U'))
483CREATE TABLE IDP_PROVISIONING_ENTITY (
484 ID INTEGER IDENTITY,
485 PROVISIONING_CONFIG_ID INTEGER,
486 ENTITY_TYPE VARCHAR(255) NOT NULL,
487 ENTITY_LOCAL_USERSTORE VARCHAR(255) NOT NULL,
488 ENTITY_NAME VARCHAR(255) NOT NULL,
489 ENTITY_VALUE VARCHAR(255),
490 TENANT_ID INTEGER,
491 ENTITY_LOCAL_ID VARCHAR(255),
492 PRIMARY KEY (ID),
493 UNIQUE (ENTITY_TYPE, TENANT_ID, ENTITY_LOCAL_USERSTORE, ENTITY_NAME, PROVISIONING_CONFIG_ID),
494 UNIQUE (PROVISIONING_CONFIG_ID, ENTITY_TYPE, ENTITY_VALUE),
495 FOREIGN KEY (PROVISIONING_CONFIG_ID) REFERENCES IDP_PROVISIONING_CONFIG(ID) ON DELETE CASCADE);
496
497IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDP_LOCAL_CLAIM]') AND TYPE IN (N'U'))
498CREATE TABLE IDP_LOCAL_CLAIM (
499 ID INTEGER IDENTITY,
500 TENANT_ID INTEGER,
501 IDP_ID INTEGER,
502 CLAIM_URI VARCHAR(255) NOT NULL,
503 DEFAULT_VALUE VARCHAR(255),
504 IS_REQUESTED VARCHAR(128) DEFAULT '0',
505 PRIMARY KEY (ID),
506 UNIQUE (TENANT_ID, IDP_ID, CLAIM_URI),
507 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE);
508
509IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_ASSOCIATED_ID]') AND TYPE IN (N'U'))
510CREATE TABLE IDN_ASSOCIATED_ID (
511 ID INTEGER IDENTITY,
512 IDP_USER_ID VARCHAR(255) NOT NULL,
513 TENANT_ID INTEGER DEFAULT -1234,
514 IDP_ID INTEGER NOT NULL,
515 DOMAIN_NAME VARCHAR(255) NOT NULL,
516 USER_NAME VARCHAR(255) NOT NULL,
517 PRIMARY KEY (ID),
518 UNIQUE(IDP_USER_ID, TENANT_ID, IDP_ID),
519 FOREIGN KEY (IDP_ID) REFERENCES IDP(ID) ON DELETE CASCADE
520);
521
522IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_USER_ACCOUNT_ASSOCIATION]') AND TYPE IN (N'U'))
523CREATE TABLE IDN_USER_ACCOUNT_ASSOCIATION (
524 ASSOCIATION_KEY VARCHAR(255) NOT NULL,
525 TENANT_ID INTEGER,
526 DOMAIN_NAME VARCHAR(255) NOT NULL,
527 USER_NAME VARCHAR(255) NOT NULL,
528 PRIMARY KEY (TENANT_ID, DOMAIN_NAME, USER_NAME));
529
530IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[FIDO_DEVICE_STORE]') AND TYPE IN (N'U'))
531CREATE TABLE FIDO_DEVICE_STORE (
532 TENANT_ID INTEGER,
533 DOMAIN_NAME VARCHAR(255) NOT NULL,
534 USER_NAME VARCHAR(45) NOT NULL,
535 TIME_REGISTERED DATETIME,
536 KEY_HANDLE VARCHAR(200) NOT NULL,
537 DEVICE_DATA VARCHAR(2048) NOT NULL,
538 PRIMARY KEY (TENANT_ID, DOMAIN_NAME, USER_NAME, KEY_HANDLE));
539
540IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WF_REQUEST]') AND TYPE IN (N'U'))
541CREATE TABLE WF_REQUEST (
542 UUID VARCHAR (45),
543 CREATED_BY VARCHAR (255),
544 TENANT_ID INTEGER DEFAULT -1,
545 OPERATION_TYPE VARCHAR (50),
546 CREATED_AT DATETIME,
547 UPDATED_AT DATETIME,
548 STATUS VARCHAR (30),
549 REQUEST VARBINARY(MAX),
550 PRIMARY KEY (UUID)
551);
552
553IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WF_BPS_PROFILE]') AND TYPE IN (N'U'))
554CREATE TABLE WF_BPS_PROFILE (
555 PROFILE_NAME VARCHAR(45),
556 HOST_URL_MANAGER VARCHAR(255),
557 HOST_URL_WORKER VARCHAR(255),
558 USERNAME VARCHAR(45),
559 PASSWORD VARCHAR(1023),
560 CALLBACK_HOST VARCHAR (45),
561 TENANT_ID INTEGER DEFAULT -1,
562 PRIMARY KEY (PROFILE_NAME, TENANT_ID)
563);
564
565IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WF_WORKFLOW]') AND TYPE IN (N'U'))
566CREATE TABLE WF_WORKFLOW(
567 ID VARCHAR (45),
568 WF_NAME VARCHAR (45),
569 DESCRIPTION VARCHAR (255),
570 TEMPLATE_ID VARCHAR (45),
571 IMPL_ID VARCHAR (45),
572 TENANT_ID INTEGER DEFAULT -1,
573 PRIMARY KEY (ID)
574);
575
576IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WF_WORKFLOW_ASSOCIATION]') AND TYPE IN (N'U'))
577CREATE TABLE WF_WORKFLOW_ASSOCIATION(
578 ID INTEGER NOT NULL IDENTITY ,
579 ASSOC_NAME VARCHAR (45),
580 EVENT_ID VARCHAR(45),
581 ASSOC_CONDITION VARCHAR (2000),
582 WORKFLOW_ID VARCHAR (45),
583 IS_ENABLED CHAR (1) DEFAULT '1',
584 TENANT_ID INTEGER DEFAULT -1,
585 PRIMARY KEY(ID),
586 FOREIGN KEY (WORKFLOW_ID) REFERENCES WF_WORKFLOW(ID)ON DELETE CASCADE
587);
588
589IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WF_WORKFLOW_CONFIG_PARAM]') AND TYPE IN (N'U'))
590CREATE TABLE WF_WORKFLOW_CONFIG_PARAM(
591 WORKFLOW_ID VARCHAR (45),
592 PARAM_NAME VARCHAR (45),
593 PARAM_VALUE VARCHAR (1000),
594 PARAM_QNAME VARCHAR (45),
595 PARAM_HOLDER VARCHAR (45),
596 TENANT_ID INTEGER DEFAULT -1,
597 PRIMARY KEY (WORKFLOW_ID, PARAM_NAME, PARAM_QNAME, PARAM_HOLDER),
598 FOREIGN KEY (WORKFLOW_ID) REFERENCES WF_WORKFLOW(ID)ON DELETE CASCADE
599);
600
601IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WF_REQUEST_ENTITY_RELATIONSHIP]') AND TYPE IN (N'U'))
602CREATE TABLE WF_REQUEST_ENTITY_RELATIONSHIP(
603 REQUEST_ID VARCHAR (45),
604 ENTITY_NAME VARCHAR (255),
605 ENTITY_TYPE VARCHAR (50),
606 TENANT_ID INTEGER DEFAULT -1,
607 PRIMARY KEY(REQUEST_ID, ENTITY_NAME, ENTITY_TYPE, TENANT_ID),
608 FOREIGN KEY (REQUEST_ID) REFERENCES WF_REQUEST(UUID)ON DELETE CASCADE
609);
610
611IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WF_WORKFLOW_REQUEST_RELATION]') AND TYPE IN (N'U'))
612CREATE TABLE WF_WORKFLOW_REQUEST_RELATION(
613 RELATIONSHIP_ID VARCHAR (45),
614 WORKFLOW_ID VARCHAR (45),
615 REQUEST_ID VARCHAR (45),
616 UPDATED_AT DATETIME,
617 STATUS VARCHAR (30),
618 TENANT_ID INTEGER DEFAULT -1,
619 PRIMARY KEY (RELATIONSHIP_ID),
620 FOREIGN KEY (WORKFLOW_ID) REFERENCES WF_WORKFLOW(ID)ON DELETE CASCADE,
621 FOREIGN KEY (REQUEST_ID) REFERENCES WF_REQUEST(UUID)ON DELETE CASCADE
622);
623
624
625IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_RECOVERY_DATA]') AND TYPE IN (N'U'))
626CREATE TABLE IDN_RECOVERY_DATA (
627 USER_NAME VARCHAR(255) NOT NULL,
628 USER_DOMAIN VARCHAR(127) NOT NULL,
629 TENANT_ID INTEGER DEFAULT -1,
630 CODE VARCHAR(255) NOT NULL,
631 SCENARIO VARCHAR(255) NOT NULL,
632 STEP VARCHAR(127) NOT NULL,
633 TIME_CREATED DATETIME NOT NULL,
634 REMAINING_SETS VARCHAR(2500) DEFAULT NULL,
635 PRIMARY KEY(USER_NAME, USER_DOMAIN, TENANT_ID, SCENARIO,STEP),
636 UNIQUE(CODE)
637);
638
639IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_PASSWORD_HISTORY_DATA]') AND TYPE IN (N'U'))
640CREATE TABLE IDN_PASSWORD_HISTORY_DATA (
641 ID INTEGER NOT NULL IDENTITY ,
642 USER_NAME VARCHAR(255) NOT NULL,
643 USER_DOMAIN VARCHAR(127) NOT NULL,
644 TENANT_ID INTEGER DEFAULT -1,
645 SALT_VALUE VARCHAR(255),
646 HASH VARCHAR(255) NOT NULL,
647 TIME_CREATED DATETIME NOT NULL,
648 PRIMARY KEY (ID),
649 UNIQUE (USER_NAME,USER_DOMAIN,TENANT_ID,SALT_VALUE,HASH),
650);
651
652IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_CLAIM_DIALECT]') AND TYPE IN (N'U'))
653CREATE TABLE IDN_CLAIM_DIALECT (
654 ID INTEGER NOT NULL IDENTITY,
655 DIALECT_URI VARCHAR (255) NOT NULL,
656 TENANT_ID INTEGER NOT NULL,
657 PRIMARY KEY (ID),
658 CONSTRAINT DIALECT_URI_CONSTRAINT UNIQUE (DIALECT_URI, TENANT_ID)
659);
660
661IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_CLAIM]') AND TYPE IN (N'U'))
662CREATE TABLE IDN_CLAIM (
663 ID INTEGER NOT NULL IDENTITY,
664 DIALECT_ID INTEGER,
665 CLAIM_URI VARCHAR (255) NOT NULL,
666 TENANT_ID INTEGER NOT NULL,
667 PRIMARY KEY (ID),
668 FOREIGN KEY (DIALECT_ID) REFERENCES IDN_CLAIM_DIALECT(ID) ON DELETE CASCADE,
669 CONSTRAINT CLAIM_URI_CONSTRAINT UNIQUE (DIALECT_ID, CLAIM_URI, TENANT_ID)
670);
671
672IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_CLAIM_MAPPED_ATTRIBUTE]') AND TYPE IN (N'U'))
673CREATE TABLE IDN_CLAIM_MAPPED_ATTRIBUTE (
674 ID INTEGER NOT NULL IDENTITY,
675 LOCAL_CLAIM_ID INTEGER,
676 USER_STORE_DOMAIN_NAME VARCHAR (255) NOT NULL,
677 ATTRIBUTE_NAME VARCHAR (255) NOT NULL,
678 TENANT_ID INTEGER NOT NULL,
679 PRIMARY KEY (ID),
680 FOREIGN KEY (LOCAL_CLAIM_ID) REFERENCES IDN_CLAIM(ID) ON DELETE CASCADE,
681 CONSTRAINT USER_STORE_DOMAIN_CONSTRAINT UNIQUE (LOCAL_CLAIM_ID, USER_STORE_DOMAIN_NAME, TENANT_ID)
682);
683
684IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_CLAIM_PROPERTY]') AND TYPE IN (N'U'))
685CREATE TABLE IDN_CLAIM_PROPERTY (
686 ID INTEGER NOT NULL IDENTITY,
687 LOCAL_CLAIM_ID INTEGER,
688 PROPERTY_NAME VARCHAR (255) NOT NULL,
689 PROPERTY_VALUE VARCHAR (255) NOT NULL,
690 TENANT_ID INTEGER NOT NULL,
691 PRIMARY KEY (ID),
692 FOREIGN KEY (LOCAL_CLAIM_ID) REFERENCES IDN_CLAIM(ID) ON DELETE CASCADE,
693 CONSTRAINT PROPERTY_NAME_CONSTRAINT UNIQUE (LOCAL_CLAIM_ID, PROPERTY_NAME, TENANT_ID)
694);
695
696IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_CLAIM_MAPPING]') AND TYPE IN (N'U'))
697CREATE TABLE IDN_CLAIM_MAPPING (
698 ID INTEGER NOT NULL IDENTITY,
699 EXT_CLAIM_ID INTEGER NOT NULL,
700 MAPPED_LOCAL_CLAIM_ID INTEGER NOT NULL,
701 TENANT_ID INTEGER NOT NULL,
702 PRIMARY KEY (ID),
703 FOREIGN KEY (EXT_CLAIM_ID) REFERENCES IDN_CLAIM(ID),
704 FOREIGN KEY (MAPPED_LOCAL_CLAIM_ID) REFERENCES IDN_CLAIM(ID),
705 CONSTRAINT EXT_TO_LOCAL_UNIQUE_MAPPING_CONSTRAINT UNIQUE (EXT_CLAIM_ID, TENANT_ID)
706);
707
708IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IDN_SAML2_ASSERTION_STORE]') AND TYPE IN (N'U'))
709CREATE TABLE IDN_SAML2_ASSERTION_STORE (
710 SAML2_ID VARCHAR(255) ,
711 SAML2_ISSUER VARCHAR(255) ,
712 SAML2_SUBJECT VARCHAR(255) ,
713 SAML2_SESSION_INDEX VARCHAR(255) ,
714 SAML2_AUTHN_CONTEXT_CLASS_REF VARCHAR(255) ,
715 SAML2_ASSERTION VARCHAR(4096) ,
716 PRIMARY KEY (SAML2_ID)
717);