/* * Jicofo, the Jitsi Conference Focus. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jitsi.jicofo.auth; /** * Class used by {@link ShibbolethAuthAuthority} to track authentication state of * conference participants. It contains user JID, name of the conference room * for which authentication is valid, authentication identity assigned by * external authentication system and creation timestamp use to expire * pre-authentications(authentication for which the room has not been created * yet). * * @author Pawel Domas */ public class AuthenticationState { private final String userJid; private final String roomName; private final String authenticatedIdentity; private final long authTimestamp = System.currentTimeMillis(); /** * Creates new {@link AuthenticationState}. * @param userJid the Jabber ID of authenticated user. * @param roomName the name of conference room for which this * authentication is valid. * @param authenticatedIdentity the identity assigned by external system * that will be bound to <tt>userJid</tt>. */ public AuthenticationState(String userJid, String roomName, String authenticatedIdentity) { this.userJid = userJid; this.roomName = roomName; this.authenticatedIdentity = authenticatedIdentity; } /** * Returns the Jabber ID of authenticated user. */ public String getUserJid() { return userJid; } /** * Returns the identity assigned by external authentication system. */ public String getAuthenticatedIdentity() { return authenticatedIdentity; } /** * Returns conference room name for which this authentication is valid. */ public String getRoomName() { return roomName; } /** * Creation timestamp of this instance. */ public long getAuthTimestamp() { return authTimestamp; } @Override public String toString() { return "AuthState[jid=" + this.userJid + ", room=" + this.roomName + ", id=" + authenticatedIdentity + "]@" + hashCode(); } }