FishEye and Crucible Cookies
Authentication Cookies
Fisheye/Crucible uses two cookies:
- The FESESSIONID cookie is created by the Jetty application server and used for session tracking purposes.
- The 'remember me' cookie,
remember
, is generated by Fisheye when the user selects the Remember me checkbox on the login page. This option is only available in a Fisheye only instance. A Crucible instance will always have this option turned on.
You can read about cookies on the Wikipedia page.
The 'Remember Me' Cookie
The 'remember me' cookie is a long-lived HTTP cookie. This cookie can be used to authenticate an unauthenticated session. Fisheye/Crucible generates this cookie when the user logs in and in Fisheye only mode also has the Remember me checkbox on the login page.
Cookie Key and Value
The cookie key is remember. You can configure it with the following Java argument:
-Dfisheye.rememberme.cookie.age
The accepted value is in seconds. The default value is 90 days, or 31536000 seconds. For details, see JVM system properties.
Use of Cookie for Authentication
When a user requests a web page, if the request is not already authenticated via the FESESSIONID cookie, Fisheye/Crucible will match the 'remember me' cookie (if present) against the token stored for the user in the Fisheye/Crucible database. If the string does not match or is not in the database, the user will need to authenticate.
If the random string matches the value stored in the database and the cookie has not expired, the user is authenticated.
Life of 'Remember Me' Cookies
4.8.9 and later: The 'remember me' cookie expires after 90 days of inactivity by default. For details on how to set fisheye.rememberme.cookie.age
, see JVM system properties.
4.8.8 and earlier: The 'remember me' cookie expires after 365 days of inactivity.
Other cookie usage
crucibleprefs1
crucibleprefs1 is a single cookie, which is used to store different user preferences. These are used to make actions the user has performed in the UI, (e.g setting the syntax used for a snippet) 'sticky'.
This saves the user having to continually set these values each time they visit Fisheye/Crucible.
The complete list of values stored in crucibleprefs1 are:
No. | Full Name | Cookie Name | Default Value | Possible Values | |
1 | longTagList | ltl | 'M' | 'L, M, H' | |
2 | showFileHistImage | sfhi | 'Y' | OPEN* | |
3 | showAuthorChart | sac | 'Y' | OPEN* | |
4 | showQuickRecent | sqr | 'Y' | OPEN* | |
5 | annotateMode | annm | 'age' | OPEN* | |
6 | dirListOrder | dlo | 'p' | 'f, p, l' | |
7 | csShowDiffs | csSD | 'false' | ||
8 | csTruncateDiffs | csTD | 'true' | ||
9 | hideHiddenDirectories | hhd | 'Y' | 'N, Y' | |
10 | hideEmptyDirectories | hed | 'N' | 'N, Y' | |
11 | includeUserOnHome | iuh | 'Y' | 'N, Y' | |
12 | hideDeletedFiles | hdf | 'N' | 'N, Y' | |
13 | alwaysExpandChangesets | aec | 'N' | 'N, Y' | |
14 | viewMode | hvm | 'p' | 'p, l' | |
15 | diffColour | dc | '2' | '2, 1' | |
16 | diffMode | dm | 'u' | 'u, y' | |
17 | diffWrap | dw | 'h' | 's, h' | |
18 | diffContextBar | dcbt | 's' | 's, h' | |
19 | selectedPanel | slp | 'a' | 't, a, o' | |
20 | showPanel | shp | 'Y' | 'N, Y' | |
21 | kOpts | k | 'kv' | ||
22 | activityStreamView | asv | 'all' | ||
23 | ignoreSlurpWarningDialog | iswd | 'N' | 'N, Y' | |
24 | showEditModeHelp | semh | 'Y' | 'N, Y' | |
25 | reviewHistoryTab | rht | 'details' | ||
26 | showAuthorColumn | authcol | 'Y' | 'N, Y' | |
27 | showRevisionColumn | revcol | 'Y' | 'N, Y' | |
28 | showLineNumColumn | lnumcol | 'Y' | 'N, Y' | |
29 | implicitLines | impllines | 'all' | ||
30 | snippetSyntax | ssyn | 'txt' | OPEN* - the syntax highlighting to use for Snippets | |
31 | snippetProject | sprj | '' | OPEN* - the name of the project to default to when creating Snippets | |
32 | expCsHeader | xcsh | 'N' | 'N, Y' | |
33 | lastbr | lsbr | '' | **
| |
34 | visBranchSet | vbs | '' | **
| |
35 | visHighlighter | vhl | '' | **
|
NOTES
* OPEN means the value is not constrained by code
** JSON Values: examples are given instead of Possible Values.