Serge Huber created UNOMI-1001:
----------------------------------

             Summary: In compatibility mode, 3.0 third-party servers lose 
features
                 Key: UNOMI-1001
                 URL: https://issues.apache.org/jira/browse/UNOMI-1001
             Project: Apache Unomi
          Issue Type: Bug
    Affects Versions: unomi-4.0.0
            Reporter: Serge Huber
             Fix For: unomi-4.0.0


h3. Summary

Single-tenant compatibility mode helps existing installations move to 4.0 
without changes. In 3.0, a trusted server that sent the X-Unomi-Peer header 
could:
* merge profiles on login,
* choose the profile id in a request,
* set event ids,
* update other profiles' properties, segments, scores and consents.

In 4.0 compatibility mode, the header is still checked before an event is 
accepted. But the server is then treated like a normal visitor, so all of the 
features above stop working. The documentation of the mode says it behaves 
"like V2".

The goal of this ticket is that a server that worked with 3.0 keeps working in 
compatibility mode, or that the documentation says clearly what changes.

h3. Ways to explore
* Preferred: document that 3.0 third-party servers should move to a tenant 
private API key, which already provides these features. Update the 
compatibility mode page.
* If trust based on X-Unomi-Peer is restored, keep it narrow:
*** only in compatibility mode, and only on public endpoints,
*** only when both the key and the caller's IP address match,
*** only the abilities that 3.0 gave a third-party server, for its allowed 
event types, never administrator rights,
*** only for a key the operator has set, never the example value from the 
shipped configuration,
*** without changing the checks from UNOMI-975 and UNOMI-978 in normal mode.
* Document how the caller IP is seen behind a reverse proxy.

h3. How to test

In compatibility mode, send requests from a configured third-party server using 
X-Unomi-Peer. Check that profile merge on login, a request with a profileId, 
and an event with an itemId work as they did in 3.0, or that the documentation 
describes the new way to do this.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to