[ 
https://issues.apache.org/jira/browse/UNOMI-553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Serge Huber closed UNOMI-553.
-----------------------------
    Fix Version/s: unomi-2.0.0
       Resolution: Fixed

New tracker fixes this problem. 

> Add unomi session cookie options to web tracker to improve support of 
> websites that use directories in the url with no intention of isolation.
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: UNOMI-553
>                 URL: https://issues.apache.org/jira/browse/UNOMI-553
>             Project: Apache Unomi
>          Issue Type: Improvement
>            Reporter: matt fowler
>            Priority: Minor
>             Fix For: unomi-2.0.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The unomiSessionId cookie will get created by the web tracker if it is not 
> already present.  The creation of this cookie is done with help from the 
> 'component-cookie' , which in turn uses document.cookie to create it.
> If the url being requested is something like "http://example.com"; then the 
> document.cookie will automatically create the unomiSessionId cookie with a 
> path of '/'.  This allows the cookie to be accessed throughout the rest of 
> the session, even if the user goes to sub directories in the url such as 
> "http://example.com/dir1/index.html";.
> However, if there isn't a unomiSessionId cookie present, and the first page 
> that a user accesses is within a sub directory , such as 
> "http://example.com/dir1/index.html"; , then the unomiSessionId gets created 
> with a path of /dir1 .  This is the default behavior of document.cookie when 
> the document is a directory off of the main url.  Since the unomiSessionId 
> cookie now has a path of /dir1 , if the end user were to navigate to any 
> other directory such as [http://example.com/dir2/index.html] or to the root 
> url of [http://example.com/] then a new session Id is created because the 
> cookie is only readable off of the path of /dir1.
> This behavior can be beneficial in some situations, but there are many cases 
> where a site will have multiple sub directories with no intention of having 
> isolation between each of them.  The expected behavior in this scenario would 
> be that a user coming in to [http://example.com/dir1/index.html]  gets a 
> session Id that remains throughout the entire interaction of 
> [http://example.com|http://example.com/] no matter what the path.  Today that 
> is not possible, a new session Id will be created with each visit to a new 
> directory UNTIL they finally hit the base url , which will then cause a 
> unomiSessionId cookie with a path of '/' which then can be used by all sub 
> directories.
> Proposed Fix:
> Not sure if we want to change the default behavior in case this is working as 
> intended for existing implementations.  The proposed fix would be to have a 
> unomiOption which could force the session cookie to use a custom path.  Due 
> to the library being used, it also might make sense to just allow for all of 
> the cookie options to be exposed as a unomi option.  resulting in something 
> like :
>           var unomiOption  = {
>             scope: 'my-scope',
>               url: 'unomi-url',
>               sessionCookieOptions:
>               {                  
>                             path: '/', 
>                             domain:'',
>                             expires:'',
>                             secure:,
>                             maxage:''
>               }
>         };



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

Reply via email to