You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 47f3fe3
Browse filesBrowse the repository at this point in the historyBrowse files
feature: replace the endpoint auth mode UserOrApplication with
UserXORApplication: a request is either a person acting on their own
Entitlements or an application acting as itself (no User, or its own
obp-oidc#client client-credentials User) on its Consumer's Scopes, never
a mix, so a person calling through a Consumer no longer gets its Scopes
and who is let in is who is recorded as acting. The require_scopes props
no longer make an application acting as itself also need Entitlements.
Dynamic Entity auth_mode still accepts UserOrApplication and stores it
as UserXORApplication
+ feature: v7.0.0 Open Corridor attach promise evidence, settlement, fee
settlement and get settlement are UserXORApplication, so a bank's Bank
Node can call them as itself with a client-credentials token
+ feature: add Files to v7.0.0: store a document or photograph in a
space (POST /banks/BANK_ID/files, base64 in JSON, Role
CanCreateFileAtOneBank, or a Role at SYS for the system space, no
AtAnyBank Roles), read it, its content and its attachments as owner, a
User given access or with CanGetFileAtOneBank, attach it to records,
share it, and make it public with CanCreatePublicFileAtOneBank. Public
files are served without login by separate public-files endpoints that
serve nothing else. Media types are at most jpeg, png, webp and pdf,
and the content must match its type
+ fix: Make sure that file content responses keep their own Content-Type
and send nosniff and a sandbox Content-Security-Policy, and that file
bytes can be stored on H2
-**Authentication Type Validation**: Enforce authentication requirements per endpoint
142
-
-**Endpoint Auth Modes**: Per-endpoint control over user vs application authentication (UserOnly, ApplicationOnly, UserOrApplication, UserAndApplication)
142
+
-**Endpoint Auth Modes**: Per-endpoint control over user vs application authentication (UserOnly, ApplicationOnly, UserXORApplication, UserAndApplication)
143
143
-**Mandates**: Corporate account governance with provisions, signatory panels, and multi-signature approval
144
144
145
145
#### 1.2.9 Extensibility & Customization
@@ -2699,7 +2699,7 @@ OBP can bootstrap a Consumer (Application) for OBP-OIDC at startup. This allows
2699
2699
2700
2700
The bootstrap consumer is granted the following Scopes: `CanGetConsumers`, `CanCreateConsumer`, `CanVerifyOidcClient`, `CanGetOidcClient`, `CanGetOidcConsent`.
2701
2701
2702
-
These endpoints use `authMode = UserOrApplication`, meaning they can be accessed either by a logged-in User with Entitlements, or by an Application using a Consumer Key with Scopes.
2702
+
These endpoints use `authMode = UserXORApplication`, meaning they can be accessed either by a logged-in User with Entitlements, or by the Application acting as itself (e.g. with a client-credentials token) with its Consumer's Scopes. A User calling through the Consumer does not get its Scopes.
2703
2703
2704
2704
```properties
2705
2705
# Bootstrap OIDC Operator Consumer
@@ -3022,18 +3022,18 @@ Previously, a global `allow_entitlements_or_scopes` config flag allowed consumer
3022
3022
|------|-------------|
3023
3023
|`UserOnly`| (Default) Requires user authentication and user entitlements |
3024
3024
|`ApplicationOnly`| Requires consumer scope only, no user authentication needed |
3025
-
|`UserOrApplication`|Either consumer scope OR userentitlement is sufficient |
3025
+
|`UserXORApplication`|Consumer scope when the application acts as itself (no user, or its own client-credentials user, provider `obp-oidc#client`); user entitlement when a person acts. A person never uses the consumer's scopes. Formerly `UserOrApplication` (either was sufficient)|
3026
3026
|`UserAndApplication`| Both consumer scope AND user entitlement are required |
3027
3027
3028
3028
**Migration from `allow_entitlements_or_scopes`:**
3029
3029
3030
-
The global `allow_entitlements_or_scopes` config flag has been removed. Deployments that previously used `allow_entitlements_or_scopes=true` must now set `authMode = UserOrApplication` on individual endpoint `ResourceDoc` instances.
3030
+
The global `allow_entitlements_or_scopes` config flag has been removed. Deployments that previously used `allow_entitlements_or_scopes=true` must now set `authMode = UserXORApplication` on individual endpoint `ResourceDoc` instances.
3031
3031
3032
-
The global overrides `require_scopes_for_all_roles` and `require_scopes_for_listed_roles` continue to work and force `UserAndApplication` behavior.
3032
+
The global overrides `require_scopes_for_all_roles` and `require_scopes_for_listed_roles` continue to work and force `UserAndApplication` behavior, except for an application acting as itself on an `ApplicationOnly` or `UserXORApplication` endpoint, which still needs only its scopes.
3033
3033
3034
3034
**Example:**
3035
3035
3036
-
The `verifyUserCredentials` endpoint uses `UserOrApplication` mode, so it can be called either by a logged-in user with the appropriate entitlement, or by an application with the appropriate consumer scope.
3036
+
The `verifyUserCredentials` endpoint uses `UserXORApplication` mode, so it can be called either by a logged-in user with the appropriate entitlement, or by an application acting as itself with the appropriate consumer scope.
3037
3037
3038
3038
### 8.8 Maker/Checker for Transaction Requests
3039
3039
@@ -4298,7 +4298,7 @@ docker run -p 8080:8080 \
4298
4298
4299
4299
**Dynamic Endpoint:** User-defined API endpoint
4300
4300
4301
-
**Endpoint Auth Mode:** Per-endpoint setting controlling whether user authentication, application scope, or both are required (UserOnly, ApplicationOnly, UserOrApplication, UserAndApplication)
4301
+
**Endpoint Auth Mode:** Per-endpoint setting controlling whether user authentication, application scope, or both are required (UserOnly, ApplicationOnly, UserXORApplication, UserAndApplication)
4302
4302
4303
4303
**Entitlement:** Permission to perform specific operation (same as Role)
0 commit comments