Session Management deprecated

Introduction

With v7.10.0 the Open-Xchange middleware offers the user the possibility to check what other sessions are already active based on his credentials. Information shown per session consists of IP address, time of login, client and user-agent associated to this session. In case the IP-based geolocation service is active the location of the ip address is also shown. Additionally the user is able to terminate any of his sessions, e.g. if a device has been stolen.

Installation

This feature is included in open-xchange-core package. Thus, no additional packages need to be installed.

Configuration

Global lookup

By default, all existing user sessions in the (hazelcast) cluster are shown. This can be disabled by setting com.openexchange.session.management.globalLookup to false. Deactivating global lookup is recommended for setups with only one middleware node or setups without installed open-xchange-sessionstorage-hazelcast package.

Client blacklist

It's possible to blacklist client-identifiers, those sessions are not displayed for the user. This is recommended for clients that open user sessions for maintenance reasons. By default, the blacklist is empty. To blacklist clients, their client-identifiers have to be added to com.openexchange.session.management.clientBlacklist as a comma-separated list.

Use of geolocation service (optional)

With an active geolocation service, in the sessions overview the user gets information about the location, based on the IP address assigned to that session. To enable geolocation service, the package open-xchange-geoip has to be installed. This package uses the geolocation service provided by MaxMind Inc. (www.maxmind.com), no further configuration of this service is needed.

Examples

Blacklisting clients

Example configuration to blacklist OX Mailapp and clients connected via Exchange ActiveSync: properties com.openexchange.session.management.blacklist=open-xchange-mobile-api-facade,open-xchange-mailapp,USM-EAS

Example response for sessionmanagement?action=all

{
   "data":[
      {
         "sessionId":"1234...",
         "ipAddress":"10.0.0.1",
         "client":"open-xchange-appsuite",
         "userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36",
         "location":"Intranet",
         "loginTime":1523608503520,
         "lastActive":1523867134252,
         "device":{
            "displayName":"OX App Suite, Chrome 65 auf Linux",
            "os":{
               "name":"linux"
            },
            "client":{
               "name":"chrome",
               "version":"65",
               "type":"browser",
               "family":"chrome"
            }
         }
      },
      {
         "sessionId":"9876...",
         "ipAddress":"10.0.0.2",
         "client":"USM-EAS",
         "userAgent":"Open-Xchange USM HTTP Client",
         "location":"Intranet",
         "loginTime":1523556905644,
         "lastActive":1523867035734,
         "device":{
            "displayName":"Microsoft Exchange ActiveSync Client",
            "client":{
               "type":"eas",
               "family":"usmeasclient"
            }
         }
      }
   ]
}

Clients are grouped in the following types: * browser - e.g. for web UI
* oxapp - for apps like OX Drive or OX Mailapp * eas - for clients connected via Exchange ActiveSync * dav - for clients connected via CalDAV/CardDAV * other - all other clients