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.

(info) 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 NameCookie NameDefault ValuePossible 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'

'false, true'

8

csTruncateDiffs

csTD

'true'

'true, false'

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'

'v, kv, o, k'

22

activityStreamView

asv

'all'

'cru, jira, fe, all'

23

ignoreSlurpWarningDialog

iswd

'N'

'N, Y'

24

showEditModeHelp

semh

'Y'

'N, Y'

25

reviewHistoryTab

rht

'details'

'details, timeline'

26

showAuthorColumn

authcol

'Y'

'N, Y'

27

showRevisionColumn

revcol

'Y'

'N, Y'

28

showLineNumColumn

lnumcol

'Y'

'N, Y'

29

implicitLines

impllines

'all'

'none, all, auth'

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

''

**

{                                
    repName: {                   
        "type": "Branch" or "Tag",
        "name": branchName       
    }                            
}

34

visBranchSet

vbs

''

**

{                                                                             
    "repoName1" : {                                                           
        bl: ["branchName1", "branchName2", "branchName3", "branchName4"]      
    },                                                                        
    "repoName2" : {                                                           
        bl: ["branchName1", "branchName2", "branchName3", "branchName4"]      
    },                                                                        
    "repoName3" : {                                                           
        bl: ["branchName1", "branchName2", "branchName3", "branchName4"]      
    }                                                                         
}

35

visHighlighter

vhl

''

**

{                                      
  "repoName1": {"hl":'Author'},            
  "repoName2": {"hl":'Search'},            
  "repoName3": {"hl":'Lineage'},
  ....      
}

NOTES

*  OPEN means the value is not constrained by code

** JSON Values: examples are given instead of Possible Values.

Last modified on Nov 8, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.