Mercurial > hg > orthanc-authorization
annotate Plugin/DefaultConfiguration.json @ 125:dce43cba6824
merge 0.6.0
author | Alain Mazy <am@osimis.io> |
---|---|
date | Mon, 18 Sep 2023 21:16:12 +0200 |
parents | 0eed78c1e177 |
children | 8591a0c1fa2a |
rev | line source |
---|---|
71 | 1 { |
2 "Authorization" : { | |
72
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
3 // The Base URL of the auth webservice. This is an alias for all 3 next configurations: |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
4 // // "WebServiceUserProfileUrl" : " ROOT /user/get-profile", |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
5 // // "WebServiceTokenValidationUrl" : " ROOT /tokens/validate", |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
6 // // "WebServiceTokenCreationBaseUrl" : " ROOT /tokens/", |
79 | 7 // // "WebServiceTokenDecoderUrl" : " ROOT /tokens/decode", |
73
512247750f0a
new ValidityDuration arg in create token API
Alain Mazy <am@osimis.io>
parents:
72
diff
changeset
|
8 // You should define it only if your auth webservice implements all 3 routes ! |
72
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
9 // "WebServiceRootUrl" : "http://change-me:8000/", |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
10 |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
11 // The URL of the auth webservice route implementing user profile (optional) |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
12 // (this configuration was previously named "WebService" and its old name is still accepted |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
13 // for backward compatibility) |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
14 // "WebServiceUserProfileUrl" : "http://change-me:8000/user/profile", |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
15 |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
16 // The URL of the auth webservice route implementing resource level authorization (optional) |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
17 // "WebServiceTokenValidationUrl" : "http://change-me:8000/tokens/validate", |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
18 |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
19 // The Base URL of the auth webservice route to create tokens (optional) |
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
20 // "WebServiceTokenCreationBaseUrl" : "http://change-me:8000/tokens/", |
71 | 21 |
79 | 22 // The URL of the auth webservice route implementing token decoding (optional) |
23 // "WebServiceTokenDecoderUrl": "http://change-me:8000/tokens/decode" | |
24 | |
71 | 25 // The username and password to connect to the webservice (optional) |
26 //"WebServiceUsername": "change-me", | |
27 //"WebServicePassword": "change-me", | |
28 | |
29 // An identifier added to the payload of each request to the auth webservice (optional) | |
30 //"WebServiceIdentifier": "change-me" | |
31 | |
32 // The name of the HTTP headers that may contain auth tokens | |
33 //"TokenHttpHeaders" : [], | |
34 | |
83 | 35 // The name of the GET arguments that may contain auth tokens |
71 | 36 //"TokenGetArguments" : [], |
37 | |
38 // A list of predefined configurations for well-known plugins | |
39 // "StandardConfigurations": [ // new in v 0.4.0 | |
40 // "osimis-web-viewer", | |
41 // "stone-webviewer", | |
42 // "orthanc-explorer-2" | |
43 // ], | |
44 | |
45 //"UncheckedResources" : [], | |
46 //"UncheckedFolders" : [], | |
47 //"CheckedLevel" : "studies", | |
48 //"UncheckedLevels" : [], | |
49 | |
50 // Definition of required "user-permissions". This can be fully customized. | |
72
e381ba725669
new PUT auth/tokens/{token-type} API route + updated interface with WebService
Alain Mazy <am@osimis.io>
parents:
71
diff
changeset
|
51 // You may define other permissions yourself as long as they match the permissions |
71 | 52 // provided in the user-profile route implemented by the auth-service. |
53 // You may test your regex in https://regex101.com/ by selecting .NET (C#) and removing the leading ^ and trailing $ | |
95
dff72e397f90
fix standard configuration 'orthanc-explorer-2' for TokenGetArguments
Alain Mazy <am@osimis.io>
parents:
91
diff
changeset
|
54 // The default configuration is suitable for Orthanc-Explorer-2 (see https://github.com/orthanc-team/orthanc-auth-service) |
71 | 55 "Permissions" : [ |
75 | 56 ["post", "^/auth/tokens/decode$", ""], |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
57 ["post", "^/tools/lookup$", ""], // currently used to authorize downloads in Stone (to map the StudyInstanceUID into an OrthancID. Not ideal -> we should define a new API that has the resource ID in the path to be able to check it at resource level) but, on another hand, you do not get any Patient information from this route |
75 | 58 |
71 | 59 // elemental browsing in OE2 |
60 ["post", "^/tools/find$", "all|view"], | |
115
0eed78c1e177
cache the UserProfile + updated http filter logic
Alain Mazy <am@osimis.io>
parents:
100
diff
changeset
|
61 ["get" , "^/(patients|studies|series|instances)(|/)", "all|view"], |
75 | 62 ["get" , "^/(patients|studies|series|instances)/([a-f0-9-]+)$", "all|view"], |
63 ["get" , "^/(patients|studies|series|instances)/([a-f0-9-]+)/(studies|study|series|instances)$", "all|view"], | |
71 | 64 ["get" , "^/instances/([a-f0-9-]+)/(tags|header)$", "all|view"], |
65 ["get" , "^/statistics$", "all|view"], | |
90
bb4c32b25c5d
Added a default permission for /changes
Alain Mazy <am@osimis.io>
parents:
89
diff
changeset
|
66 ["get" , "^/changes$", "all|view"], |
71 | 67 |
75 | 68 // create links to open viewer or download resources |
69 ["put", "^/auth/tokens/(viewer-instant-link|meddream-instant-link)$", "all|view"], | |
70 ["put", "^/auth/tokens/(download-instant-link)$", "all|download"], | |
71 | |
72 // share a link to open a study | |
91
50b18e7a254d
Added a default permission for /auth/tokens/ohif-viewer-publication
Alain Mazy <am@osimis.io>
parents:
90
diff
changeset
|
73 ["put", "^/auth/tokens/(stone-viewer-publication|meddream-viewer-publication|osimis-viewer-publication|ohif-viewer-publication)$", "all|share"], |
75 | 74 |
75 // uploads | |
76 ["post", "^/instances$", "all|upload"], | |
77 | |
71 | 78 // monitor jobs you have created |
79 ["get" , "^/jobs/([a-f0-9-]+)$", "all|send|modify|anonymize|q-r-remote-modalities"], | |
80 | |
81 // interacting with peers/modalities/dicomweb | |
82 ["post", "^/(peers|modalities)/(.*)/store$", "all|send"], | |
83 ["get" , "^/(peers|modalities)$", "all|send|q-r-remote-modalities"], | |
84 ["post", "^/modalities/(.*)/echo$", "all|send|q-r-remote-modalities"], | |
85 ["post", "^/modalities/(.*)/query$", "all|q-r-remote-modalities"], | |
86 ["get", "^/queries/([a-f0-9-]+)/answers$", "all|q-r-remote-modalities"], | |
87 ["post", "^/modalities/(.*)/move$", "all|q-r-remote-modalities"], | |
75 | 88 ["get" , "^/DICOM_WEB_ROOT/servers$", "all|send|q-r-remote-modalities"], |
71 | 89 ["get" , "^/DICOM_WEB_ROOT/(servers)/(.*)/stow$", "all|send"], |
90 | |
91 // modifications/anonymization | |
92 ["post", "^/(patients|studies|series|instances)/([a-f0-9-]+)/modify(.*)$", "all|modify"], | |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
93 ["post", "^/(patients|studies|series|instances)/([a-f0-9-]+)/anonymize(.*)$", "all|anonymize"], |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
94 |
100
760fd9ad7007
new default permissions for labels
Alain Mazy <am@osimis.io>
parents:
95
diff
changeset
|
95 // labels |
760fd9ad7007
new default permissions for labels
Alain Mazy <am@osimis.io>
parents:
95
diff
changeset
|
96 ["get", "^/tools/labels$", "all|view|edit-labels"], |
760fd9ad7007
new default permissions for labels
Alain Mazy <am@osimis.io>
parents:
95
diff
changeset
|
97 ["get" , "^/(patients|studies|series|instances)/([a-f0-9-]+)/labels$", "all|view"], |
760fd9ad7007
new default permissions for labels
Alain Mazy <am@osimis.io>
parents:
95
diff
changeset
|
98 ["put" , "^/(patients|studies|series|instances)/([a-f0-9-]+)/labels/(.*)$", "all|edit-labels"], |
760fd9ad7007
new default permissions for labels
Alain Mazy <am@osimis.io>
parents:
95
diff
changeset
|
99 ["delete" , "^/(patients|studies|series|instances)/([a-f0-9-]+)/labels/(.*)$", "all|edit-labels"], |
760fd9ad7007
new default permissions for labels
Alain Mazy <am@osimis.io>
parents:
95
diff
changeset
|
100 |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
101 // deletes |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
102 ["delete" , "^/(patients|studies|series|instances)/([a-f0-9-]+)$", "all|delete"], |
89 | 103 ["post" , "^/tools/bulk-delete$", "all|delete"], |
77
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
104 |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
105 // settings |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
106 ["put", "^/tools/log-level$", "all|settings"], |
94a9484d7f8f
fix security issues allowing to browse remote dicom servers + introduced UnitTests
Alain Mazy <am@osimis.io>
parents:
75
diff
changeset
|
107 ["get", "^/tools/log-level$", "all|settings"] |
71 | 108 ] |
109 } | |
110 } |