|
45 | 45 | "description": "${role_default-roles}", |
46 | 46 | "composite": true, |
47 | 47 | "composites": { |
48 | | - "realm": ["offline_access", "uma_authorization"] |
| 48 | + "realm": [ |
| 49 | + "offline_access", |
| 50 | + "uma_authorization" |
| 51 | + ] |
49 | 52 | }, |
50 | 53 | "clientRole": false |
51 | 54 | } |
|
66 | 69 | "temporary": false |
67 | 70 | } |
68 | 71 | ], |
69 | | - "realmRoles": ["default-roles-nextcloud-mcp", "offline_access"], |
| 72 | + "realmRoles": [ |
| 73 | + "default-roles-nextcloud-mcp", |
| 74 | + "offline_access" |
| 75 | + ], |
70 | 76 | "attributes": { |
71 | | - "quota": ["1073741824"] |
| 77 | + "quota": [ |
| 78 | + "1073741824" |
| 79 | + ] |
72 | 80 | } |
73 | 81 | } |
74 | 82 | ], |
|
108 | 116 | "http://localhost:*/callback", |
109 | 117 | "http://127.0.0.1:*/callback" |
110 | 118 | ], |
111 | | - "webOrigins": ["+"], |
| 119 | + "webOrigins": [ |
| 120 | + "+" |
| 121 | + ], |
112 | 122 | "bearerOnly": false, |
113 | 123 | "consentRequired": false, |
114 | 124 | "standardFlowEnabled": true, |
|
212 | 222 | } |
213 | 223 | } |
214 | 224 | ], |
215 | | - "defaultClientScopes": ["web-origins", "profile", "roles", "email"], |
| 225 | + "defaultClientScopes": [ |
| 226 | + "web-origins", |
| 227 | + "profile", |
| 228 | + "roles", |
| 229 | + "email" |
| 230 | + ], |
216 | 231 | "optionalClientScopes": [ |
217 | 232 | "address", |
218 | 233 | "phone", |
|
268 | 283 | "access.token.claim": "true", |
269 | 284 | "userinfo.token.claim": "true" |
270 | 285 | } |
| 286 | + }, |
| 287 | + { |
| 288 | + "name": "username", |
| 289 | + "protocol": "openid-connect", |
| 290 | + "protocolMapper": "oidc-usermodel-property-mapper", |
| 291 | + "consentRequired": false, |
| 292 | + "config": { |
| 293 | + "userinfo.token.claim": "true", |
| 294 | + "user.attribute": "username", |
| 295 | + "id.token.claim": "true", |
| 296 | + "access.token.claim": "true", |
| 297 | + "claim.name": "preferred_username", |
| 298 | + "jsonType.label": "String" |
| 299 | + } |
| 300 | + }, |
| 301 | + { |
| 302 | + "name": "given name", |
| 303 | + "protocol": "openid-connect", |
| 304 | + "protocolMapper": "oidc-usermodel-property-mapper", |
| 305 | + "consentRequired": false, |
| 306 | + "config": { |
| 307 | + "userinfo.token.claim": "true", |
| 308 | + "user.attribute": "firstName", |
| 309 | + "id.token.claim": "true", |
| 310 | + "access.token.claim": "true", |
| 311 | + "claim.name": "given_name", |
| 312 | + "jsonType.label": "String" |
| 313 | + } |
| 314 | + }, |
| 315 | + { |
| 316 | + "name": "family name", |
| 317 | + "protocol": "openid-connect", |
| 318 | + "protocolMapper": "oidc-usermodel-property-mapper", |
| 319 | + "consentRequired": false, |
| 320 | + "config": { |
| 321 | + "userinfo.token.claim": "true", |
| 322 | + "user.attribute": "lastName", |
| 323 | + "id.token.claim": "true", |
| 324 | + "access.token.claim": "true", |
| 325 | + "claim.name": "family_name", |
| 326 | + "jsonType.label": "String" |
| 327 | + } |
271 | 328 | } |
272 | 329 | ] |
273 | 330 | }, |
|
544 | 601 | "display.on.consent.screen": "true", |
545 | 602 | "consent.screen.text": "Create, update, and delete tasks" |
546 | 603 | } |
| 604 | + }, |
| 605 | + { |
| 606 | + "name": "audience", |
| 607 | + "description": "Audience scope for token validation", |
| 608 | + "protocol": "openid-connect", |
| 609 | + "attributes": { |
| 610 | + "include.in.token.scope": "true", |
| 611 | + "display.on.consent.screen": "false" |
| 612 | + }, |
| 613 | + "protocolMappers": [ |
| 614 | + { |
| 615 | + "name": "mcp-server-audience", |
| 616 | + "protocol": "openid-connect", |
| 617 | + "protocolMapper": "oidc-audience-mapper", |
| 618 | + "consentRequired": false, |
| 619 | + "config": { |
| 620 | + "included.client.audience": "nextcloud-mcp-server", |
| 621 | + "id.token.claim": "false", |
| 622 | + "access.token.claim": "true" |
| 623 | + } |
| 624 | + }, |
| 625 | + { |
| 626 | + "name": "nextcloud-audience", |
| 627 | + "protocol": "openid-connect", |
| 628 | + "protocolMapper": "oidc-audience-mapper", |
| 629 | + "consentRequired": false, |
| 630 | + "config": { |
| 631 | + "included.client.audience": "nextcloud", |
| 632 | + "id.token.claim": "false", |
| 633 | + "access.token.claim": "true" |
| 634 | + } |
| 635 | + } |
| 636 | + ] |
547 | 637 | } |
| 638 | + ], |
| 639 | + "components": { |
| 640 | + "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [ |
| 641 | + { |
| 642 | + "name": "Trusted Hosts", |
| 643 | + "providerId": "trusted-hosts", |
| 644 | + "subType": "anonymous", |
| 645 | + "subComponents": {}, |
| 646 | + "config": { |
| 647 | + "trusted-hosts": [ |
| 648 | + "localhost", |
| 649 | + "127.0.0.1", |
| 650 | + "172.19.0.1" |
| 651 | + ], |
| 652 | + "host-sending-registration-request-must-match": [ |
| 653 | + "false" |
| 654 | + ], |
| 655 | + "client-uris-must-match": [ |
| 656 | + "true" |
| 657 | + ] |
| 658 | + } |
| 659 | + }, |
| 660 | + { |
| 661 | + "name": "Max Clients", |
| 662 | + "providerId": "max-clients", |
| 663 | + "subType": "anonymous", |
| 664 | + "subComponents": {}, |
| 665 | + "config": { |
| 666 | + "max-clients": [ |
| 667 | + "200" |
| 668 | + ] |
| 669 | + } |
| 670 | + } |
| 671 | + ] |
| 672 | + }, |
| 673 | + "defaultDefaultClientScopes": [ |
| 674 | + "profile", |
| 675 | + "email", |
| 676 | + "roles", |
| 677 | + "web-origins", |
| 678 | + "audience" |
| 679 | + ], |
| 680 | + "defaultOptionalClientScopes": [ |
| 681 | + "offline_access", |
| 682 | + "notes:read", |
| 683 | + "notes:write", |
| 684 | + "calendar:read", |
| 685 | + "calendar:write", |
| 686 | + "contacts:read", |
| 687 | + "contacts:write", |
| 688 | + "cookbook:read", |
| 689 | + "cookbook:write", |
| 690 | + "deck:read", |
| 691 | + "deck:write", |
| 692 | + "tables:read", |
| 693 | + "tables:write", |
| 694 | + "files:read", |
| 695 | + "files:write", |
| 696 | + "sharing:read", |
| 697 | + "sharing:write", |
| 698 | + "todo:read", |
| 699 | + "todo:write" |
548 | 700 | ] |
549 | 701 | } |
0 commit comments