@@ -170,367 +170,7 @@ public class MITREidDataService_1_2 extends MITREidDataServiceSupport implements
170
170
@ Override
171
171
public void exportData (JsonWriter writer ) throws IOException {
172
172
173
- // version tag at the root
174
- writer .name (MITREID_CONNECT_1_2 );
175
-
176
- writer .beginObject ();
177
-
178
- // clients list
179
- writer .name (CLIENTS );
180
- writer .beginArray ();
181
- writeClients (writer );
182
- writer .endArray ();
183
-
184
- writer .name (GRANTS );
185
- writer .beginArray ();
186
- writeGrants (writer );
187
- writer .endArray ();
188
-
189
- writer .name (WHITELISTEDSITES );
190
- writer .beginArray ();
191
- writeWhitelistedSites (writer );
192
- writer .endArray ();
193
-
194
- writer .name (BLACKLISTEDSITES );
195
- writer .beginArray ();
196
- writeBlacklistedSites (writer );
197
- writer .endArray ();
198
-
199
- writer .name (AUTHENTICATIONHOLDERS );
200
- writer .beginArray ();
201
- writeAuthenticationHolders (writer );
202
- writer .endArray ();
203
-
204
- writer .name (ACCESSTOKENS );
205
- writer .beginArray ();
206
- writeAccessTokens (writer );
207
- writer .endArray ();
208
-
209
- writer .name (REFRESHTOKENS );
210
- writer .beginArray ();
211
- writeRefreshTokens (writer );
212
- writer .endArray ();
213
-
214
- writer .name (SYSTEMSCOPES );
215
- writer .beginArray ();
216
- writeSystemScopes (writer );
217
- writer .endArray ();
218
-
219
- writer .endObject (); // end mitreid-connect-1.2
220
- }
221
-
222
- /**
223
- * @param writer
224
- */
225
- private void writeRefreshTokens (JsonWriter writer ) throws IOException {
226
- for (OAuth2RefreshTokenEntity token : tokenRepository .getAllRefreshTokens ()) {
227
- writer .beginObject ();
228
- writer .name (ID ).value (token .getId ());
229
- writer .name (EXPIRATION ).value (toUTCString (token .getExpiration ()));
230
- writer .name (CLIENT_ID )
231
- .value ((token .getClient () != null ) ? token .getClient ().getClientId () : null );
232
- writer .name (AUTHENTICATION_HOLDER_ID )
233
- .value ((token .getAuthenticationHolder () != null ) ? token .getAuthenticationHolder ().getId () : null );
234
- writer .name (VALUE ).value (token .getValue ());
235
- writer .endObject ();
236
- logger .debug ("Wrote refresh token {}" , token .getId ());
237
- }
238
- logger .info ("Done writing refresh tokens" );
239
- }
240
-
241
- /**
242
- * @param writer
243
- */
244
- private void writeAccessTokens (JsonWriter writer ) throws IOException {
245
- for (OAuth2AccessTokenEntity token : tokenRepository .getAllAccessTokens ()) {
246
- writer .beginObject ();
247
- writer .name (ID ).value (token .getId ());
248
- writer .name (EXPIRATION ).value (toUTCString (token .getExpiration ()));
249
- writer .name (CLIENT_ID )
250
- .value ((token .getClient () != null ) ? token .getClient ().getClientId () : null );
251
- writer .name (AUTHENTICATION_HOLDER_ID )
252
- .value ((token .getAuthenticationHolder () != null ) ? token .getAuthenticationHolder ().getId () : null );
253
- writer .name (REFRESH_TOKEN_ID )
254
- .value ((token .getRefreshToken () != null ) ? token .getRefreshToken ().getId () : null );
255
- writer .name (ID_TOKEN_ID )
256
- .value ((token .getIdToken () != null ) ? token .getIdToken ().getId () : null );
257
- writer .name (SCOPE );
258
- writer .beginArray ();
259
- for (String s : token .getScope ()) {
260
- writer .value (s );
261
- }
262
- writer .endArray ();
263
- writer .name (TYPE ).value (token .getTokenType ());
264
- writer .name (VALUE ).value (token .getValue ());
265
- writer .endObject ();
266
- logger .debug ("Wrote access token {}" , token .getId ());
267
- }
268
- logger .info ("Done writing access tokens" );
269
- }
270
-
271
- /**
272
- * @param writer
273
- */
274
- private void writeAuthenticationHolders (JsonWriter writer ) throws IOException {
275
- for (AuthenticationHolderEntity holder : authHolderRepository .getAll ()) {
276
- writer .beginObject ();
277
- writer .name (ID ).value (holder .getId ());
278
-
279
- writer .name (REQUEST_PARAMETERS );
280
- writer .beginObject ();
281
- for (Entry <String , String > entry : holder .getRequestParameters ().entrySet ()) {
282
- writer .name (entry .getKey ()).value (entry .getValue ());
283
- }
284
- writer .endObject ();
285
- writer .name (CLIENT_ID ).value (holder .getClientId ());
286
- Set <String > scope = holder .getScope ();
287
- writer .name (SCOPE );
288
- writer .beginArray ();
289
- for (String s : scope ) {
290
- writer .value (s );
291
- }
292
- writer .endArray ();
293
- writer .name (RESOURCE_IDS );
294
- writer .beginArray ();
295
- if (holder .getResourceIds () != null ) {
296
- for (String s : holder .getResourceIds ()) {
297
- writer .value (s );
298
- }
299
- }
300
- writer .endArray ();
301
- writer .name (AUTHORITIES );
302
- writer .beginArray ();
303
- for (GrantedAuthority authority : holder .getAuthorities ()) {
304
- writer .value (authority .getAuthority ());
305
- }
306
- writer .endArray ();
307
- writer .name (APPROVED ).value (holder .isApproved ());
308
- writer .name (REDIRECT_URI ).value (holder .getRedirectUri ());
309
- writer .name (RESPONSE_TYPES );
310
- writer .beginArray ();
311
- for (String s : holder .getResponseTypes ()) {
312
- writer .value (s );
313
- }
314
- writer .endArray ();
315
- writer .name (EXTENSIONS );
316
- writer .beginObject ();
317
- for (Entry <String , Serializable > entry : holder .getExtensions ().entrySet ()) {
318
- // while the extension map itself is Serializable, we enforce storage of Strings
319
- if (entry .getValue () instanceof String ) {
320
- writer .name (entry .getKey ()).value ((String ) entry .getValue ());
321
- } else {
322
- logger .warn ("Skipping non-string extension: " + entry );
323
- }
324
- }
325
- writer .endObject ();
326
-
327
- writer .name (SAVED_USER_AUTHENTICATION );
328
- if (holder .getUserAuth () != null ) {
329
- writer .beginObject ();
330
- writer .name (NAME ).value (holder .getUserAuth ().getName ());
331
- writer .name (SOURCE_CLASS ).value (holder .getUserAuth ().getSourceClass ());
332
- writer .name (AUTHENTICATED ).value (holder .getUserAuth ().isAuthenticated ());
333
- writer .name (AUTHORITIES );
334
- writer .beginArray ();
335
- for (GrantedAuthority authority : holder .getUserAuth ().getAuthorities ()) {
336
- writer .value (authority .getAuthority ());
337
- }
338
- writer .endArray ();
339
-
340
- writer .endObject ();
341
- } else {
342
- writer .nullValue ();
343
- }
344
-
345
-
346
- writer .endObject ();
347
- logger .debug ("Wrote authentication holder {}" , holder .getId ());
348
- }
349
- logger .info ("Done writing authentication holders" );
350
- }
351
-
352
- /**
353
- * @param writer
354
- */
355
- private void writeGrants (JsonWriter writer ) throws IOException {
356
- for (ApprovedSite site : approvedSiteRepository .getAll ()) {
357
- writer .beginObject ();
358
- writer .name (ID ).value (site .getId ());
359
- writer .name (ACCESS_DATE ).value (toUTCString (site .getAccessDate ()));
360
- writer .name (CLIENT_ID ).value (site .getClientId ());
361
- writer .name (CREATION_DATE ).value (toUTCString (site .getCreationDate ()));
362
- writer .name (TIMEOUT_DATE ).value (toUTCString (site .getTimeoutDate ()));
363
- writer .name (USER_ID ).value (site .getUserId ());
364
- writer .name (ALLOWED_SCOPES );
365
- writeNullSafeArray (writer , site .getAllowedScopes ());
366
- Set <OAuth2AccessTokenEntity > tokens = site .getApprovedAccessTokens ();
367
- writer .name (APPROVED_ACCESS_TOKENS );
368
- writer .beginArray ();
369
- for (OAuth2AccessTokenEntity token : tokens ) {
370
- writer .value (token .getId ());
371
- }
372
- writer .endArray ();
373
- writer .endObject ();
374
- logger .debug ("Wrote grant {}" , site .getId ());
375
- }
376
- logger .info ("Done writing grants" );
377
- }
378
-
379
- /**
380
- * @param writer
381
- */
382
- private void writeWhitelistedSites (JsonWriter writer ) throws IOException {
383
- for (WhitelistedSite wlSite : wlSiteRepository .getAll ()) {
384
- writer .beginObject ();
385
- writer .name (ID ).value (wlSite .getId ());
386
- writer .name (CLIENT_ID ).value (wlSite .getClientId ());
387
- writer .name (CREATOR_USER_ID ).value (wlSite .getCreatorUserId ());
388
- writer .name (ALLOWED_SCOPES );
389
- writeNullSafeArray (writer , wlSite .getAllowedScopes ());
390
- writer .endObject ();
391
- logger .debug ("Wrote whitelisted site {}" , wlSite .getId ());
392
- }
393
- logger .info ("Done writing whitelisted sites" );
394
- }
395
-
396
- /**
397
- * @param writer
398
- */
399
- private void writeBlacklistedSites (JsonWriter writer ) throws IOException {
400
- for (BlacklistedSite blSite : blSiteRepository .getAll ()) {
401
- writer .beginObject ();
402
- writer .name (ID ).value (blSite .getId ());
403
- writer .name (URI ).value (blSite .getUri ());
404
- writer .endObject ();
405
- logger .debug ("Wrote blacklisted site {}" , blSite .getId ());
406
- }
407
- logger .info ("Done writing blacklisted sites" );
408
- }
409
-
410
- /**
411
- * @param writer
412
- */
413
- private void writeClients (JsonWriter writer ) {
414
- for (ClientDetailsEntity client : clientRepository .getAllClients ()) {
415
- try {
416
- writer .beginObject ();
417
- writer .name (CLIENT_ID ).value (client .getClientId ());
418
- writer .name (RESOURCE_IDS );
419
- writeNullSafeArray (writer , client .getResourceIds ());
420
-
421
- writer .name (SECRET ).value (client .getClientSecret ());
422
-
423
- writer .name (SCOPE );
424
- writeNullSafeArray (writer , client .getScope ());
425
-
426
- writer .name (AUTHORITIES );
427
- writer .beginArray ();
428
- for (GrantedAuthority authority : client .getAuthorities ()) {
429
- writer .value (authority .getAuthority ());
430
- }
431
- writer .endArray ();
432
- writer .name (ACCESS_TOKEN_VALIDITY_SECONDS ).value (client .getAccessTokenValiditySeconds ());
433
- writer .name (REFRESH_TOKEN_VALIDITY_SECONDS ).value (client .getRefreshTokenValiditySeconds ());
434
- writer .name (REDIRECT_URIS );
435
- writeNullSafeArray (writer , client .getRedirectUris ());
436
- writer .name (CLAIMS_REDIRECT_URIS );
437
- writeNullSafeArray (writer , client .getClaimsRedirectUris ());
438
- writer .name (NAME ).value (client .getClientName ());
439
- writer .name (URI ).value (client .getClientUri ());
440
- writer .name (LOGO_URI ).value (client .getLogoUri ());
441
- writer .name (CONTACTS );
442
- writeNullSafeArray (writer , client .getContacts ());
443
- writer .name (TOS_URI ).value (client .getTosUri ());
444
- writer .name (TOKEN_ENDPOINT_AUTH_METHOD )
445
- .value ((client .getTokenEndpointAuthMethod () != null ) ? client .getTokenEndpointAuthMethod ().getValue () : null );
446
- writer .name (GRANT_TYPES );
447
- writer .beginArray ();
448
- for (String s : client .getGrantTypes ()) {
449
- writer .value (s );
450
- }
451
- writer .endArray ();
452
- writer .name (RESPONSE_TYPES );
453
- writer .beginArray ();
454
- for (String s : client .getResponseTypes ()) {
455
- writer .value (s );
456
- }
457
- writer .endArray ();
458
- writer .name (POLICY_URI ).value (client .getPolicyUri ());
459
- writer .name (JWKS_URI ).value (client .getJwksUri ());
460
- writer .name (JWKS ).value ((client .getJwks () != null ) ? client .getJwks ().toString () : null );
461
- writer .name (APPLICATION_TYPE )
462
- .value ((client .getApplicationType () != null ) ? client .getApplicationType ().getValue () : null );
463
- writer .name (SECTOR_IDENTIFIER_URI ).value (client .getSectorIdentifierUri ());
464
- writer .name (SUBJECT_TYPE )
465
- .value ((client .getSubjectType () != null ) ? client .getSubjectType ().getValue () : null );
466
- writer .name (REQUEST_OBJECT_SIGNING_ALG )
467
- .value ((client .getRequestObjectSigningAlg () != null ) ? client .getRequestObjectSigningAlg ().getName () : null );
468
- writer .name (ID_TOKEN_SIGNED_RESPONSE_ALG )
469
- .value ((client .getIdTokenSignedResponseAlg () != null ) ? client .getIdTokenSignedResponseAlg ().getName () : null );
470
- writer .name (ID_TOKEN_ENCRYPTED_RESPONSE_ALG )
471
- .value ((client .getIdTokenEncryptedResponseAlg () != null ) ? client .getIdTokenEncryptedResponseAlg ().getName () : null );
472
- writer .name (ID_TOKEN_ENCRYPTED_RESPONSE_ENC )
473
- .value ((client .getIdTokenEncryptedResponseEnc () != null ) ? client .getIdTokenEncryptedResponseEnc ().getName () : null );
474
- writer .name (USER_INFO_SIGNED_RESPONSE_ALG )
475
- .value ((client .getUserInfoSignedResponseAlg () != null ) ? client .getUserInfoSignedResponseAlg ().getName () : null );
476
- writer .name (USER_INFO_ENCRYPTED_RESPONSE_ALG )
477
- .value ((client .getUserInfoEncryptedResponseAlg () != null ) ? client .getUserInfoEncryptedResponseAlg ().getName () : null );
478
- writer .name (USER_INFO_ENCRYPTED_RESPONSE_ENC )
479
- .value ((client .getUserInfoEncryptedResponseEnc () != null ) ? client .getUserInfoEncryptedResponseEnc ().getName () : null );
480
- writer .name (TOKEN_ENDPOINT_AUTH_SIGNING_ALG )
481
- .value ((client .getTokenEndpointAuthSigningAlg () != null ) ? client .getTokenEndpointAuthSigningAlg ().getName () : null );
482
- writer .name (DEFAULT_MAX_AGE ).value (client .getDefaultMaxAge ());
483
- Boolean requireAuthTime = null ;
484
- try {
485
- requireAuthTime = client .getRequireAuthTime ();
486
- } catch (NullPointerException e ) {
487
- }
488
- if (requireAuthTime != null ) {
489
- writer .name (REQUIRE_AUTH_TIME ).value (requireAuthTime );
490
- }
491
- writer .name (DEFAULT_ACR_VALUES );
492
- writeNullSafeArray (writer , client .getDefaultACRvalues ());
493
- writer .name (INTITATE_LOGIN_URI ).value (client .getInitiateLoginUri ());
494
- writer .name (POST_LOGOUT_REDIRECT_URI );
495
- writeNullSafeArray (writer , client .getPostLogoutRedirectUris ());
496
- writer .name (REQUEST_URIS );
497
- writeNullSafeArray (writer , client .getRequestUris ());
498
- writer .name (DESCRIPTION ).value (client .getClientDescription ());
499
- writer .name (ALLOW_INTROSPECTION ).value (client .isAllowIntrospection ());
500
- writer .name (REUSE_REFRESH_TOKEN ).value (client .isReuseRefreshToken ());
501
- writer .name (CLEAR_ACCESS_TOKENS_ON_REFRESH ).value (client .isClearAccessTokensOnRefresh ());
502
- writer .name (DYNAMICALLY_REGISTERED ).value (client .isDynamicallyRegistered ());
503
- writer .endObject ();
504
- logger .debug ("Wrote client {}" , client .getId ());
505
- } catch (IOException ex ) {
506
- logger .error ("Unable to write client {}" , client .getId (), ex );
507
- }
508
- }
509
- logger .info ("Done writing clients" );
510
- }
511
-
512
- /**
513
- * @param writer
514
- */
515
- private void writeSystemScopes (JsonWriter writer ) {
516
- for (SystemScope sysScope : sysScopeRepository .getAll ()) {
517
- try {
518
- writer .beginObject ();
519
- writer .name (ID ).value (sysScope .getId ());
520
- writer .name (DESCRIPTION ).value (sysScope .getDescription ());
521
- writer .name (ICON ).value (sysScope .getIcon ());
522
- writer .name (VALUE ).value (sysScope .getValue ());
523
- writer .name (RESTRICTED ).value (sysScope .isRestricted ());
524
- writer .name (STRUCTURED ).value (sysScope .isStructured ());
525
- writer .name (STRUCTURED_PARAMETER ).value (sysScope .getStructuredParamDescription ());
526
- writer .name (DEFAULT_SCOPE ).value (sysScope .isDefaultScope ());
527
- writer .endObject ();
528
- logger .debug ("Wrote system scope {}" , sysScope .getId ());
529
- } catch (IOException ex ) {
530
- logger .error ("Unable to write system scope {}" , sysScope .getId (), ex );
531
- }
532
- }
533
- logger .info ("Done writing system scopes" );
173
+ throw new UnsupportedOperationException ("Can not export 1.2 format from this version." );
534
174
}
535
175
536
176
/* (non-Javadoc)
0 commit comments