当前位置: 首页>>代码示例>>Java>>正文


Java AuthToken类代码示例

本文整理汇总了Java中org.jivesoftware.openfire.auth.AuthToken的典型用法代码示例。如果您正苦于以下问题:Java AuthToken类的具体用法?Java AuthToken怎么用?Java AuthToken使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AuthToken类属于org.jivesoftware.openfire.auth包,在下文中一共展示了AuthToken类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: authenticationSuccessful

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
private static void authenticationSuccessful(LocalSession session, String username,
        byte[] successData) {
    if (username != null && LockOutManager.getInstance().isAccountDisabled(username)) {
        // Interception!  This person is locked out, fail instead!
        LockOutManager.getInstance().recordFailedLogin(username);
        authenticationFailed(session, Failure.ACCOUNT_DISABLED);
        return;
    }
    sendElement(session, "success", successData);
    // We only support SASL for c2s
    if (session instanceof ClientSession) {
        ((LocalClientSession) session).setAuthToken(new AuthToken(username));
    }
    else if (session instanceof IncomingServerSession) {
        String hostname = username;
        // Add the validated domain as a valid domain. The remote server can
        // now send packets from this address
        ((LocalIncomingServerSession) session).addValidatedDomain(hostname);
        Log.info("Inbound Server {} authenticated (via TLS)", username);
    }
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:22,代码来源:SASLAuthentication.java

示例2: authUserFromRequest

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
private boolean authUserFromRequest(final HttpServletRequest request) {

        final String userFromRequest = servletRequestAuthenticator == null ? null : servletRequestAuthenticator.authenticateRequest(request);
        if (userFromRequest == null) {
            // The user is not authenticated
            return false;
        }

        if (!adminManager.isUserAdmin(userFromRequest, true)) {
            // The user is not authorised
            Log.warn("The user '" + userFromRequest + "' is not an Openfire administrator.");
            return false;
        }

        // We're authenticated and authorised, so record the login,
        loginLimitManager.recordSuccessfulAttempt(userFromRequest, request.getRemoteAddr());

        // Set the auth token
        request.getSession().setAttribute("jive.admin.authToken", new AuthToken(userFromRequest));

        // And proceed
        return true;
    }
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:24,代码来源:AuthCheckFilter.java

示例3: getUser

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 * Returns the page user or <tt>null</tt> if one is not found.
 */
public User getUser() {
    User pageUser = null;
    try {
        final AuthToken authToken = getAuthToken();
        if (authToken == null )
        {
            Log.debug( "Unable to get user: no auth token on session." );
            return null;
        }
        final String username = authToken.getUsername();
        if (username == null || username.isEmpty())
        {
            Log.debug( "Unable to get user: no username in auth token on session." );
            return null;
        }
        pageUser = getUserManager().getUser(username);
    }
    catch (Exception ex) {
        Log.debug("Unexpected exception (which is ignored) while trying to obtain user.", ex);
    }
    return pageUser;
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:26,代码来源:WebManager.java

示例4: removeSession

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 * Removes a session.
 *
 * @param session the session.
 * @return true if the requested session was successfully removed.
 */
public boolean removeSession(LocalClientSession session) {
    // Do nothing if session is null or if the server is shutting down. Note: When the server
    // is shutting down the serverName will be null.
    if (session == null || serverName == null) {
        return false;
    }

    AuthToken authToken = session.getAuthToken();
    // Consider session anonymous (for this matter) if we are closing a session that never authenticated
    boolean anonymous = authToken == null || authToken.isAnonymous();
    return removeSession(session, session.getAddress(), anonymous, false);
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:19,代码来源:SessionManager.java

示例5: setAuthToken

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 * Initialize the session with a valid authentication token and
 * resource name. This automatically upgrades the session's
 * status to authenticated and enables many features that are not
 * available until authenticated (obtaining managers for example).
 *
 * @param auth the authentication token obtained from the AuthFactory.
 * @param resource the resource this session authenticated under.
 */
public void setAuthToken(AuthToken auth, String resource) {
    setAddress(new JID(auth.getUsername(), getServerName(), resource));
    authToken = auth;
    setStatus(Session.STATUS_AUTHENTICATED);

    // Set default privacy list for this session
    setDefaultList(PrivacyListManager.getInstance().getDefaultPrivacyList(auth.getUsername()));
    // Add session to the session manager. The session will be added to the routing table as well
    sessionManager.addSession(this);
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:20,代码来源:LocalClientSession.java

示例6: allowResume

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 * Should this session be allowed to resume?
 * This is used while processed <enable/> and <resume/>
 *
 * @return True if the session is allowed to resume.
 */
private boolean allowResume() {
    boolean allow = false;
    // Ensure that resource binding has occurred.
    if (session instanceof ClientSession) {
        AuthToken authToken = ((LocalClientSession)session).getAuthToken();
        if (authToken != null) {
            if (!authToken.isAnonymous()) {
                allow = true;
            }
        }
    }
    return allow;
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:20,代码来源:StreamManager.java

示例7: willNotRedirectARequestFromAnAdminUser

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
@Test
public void willNotRedirectARequestFromAnAdminUser() throws Exception {

    final AuthCheckFilter filter = new AuthCheckFilter(adminManager, loginLimitManager, AdminUserServletAuthenticatorClass.class.getName());

    filter.doFilter(request, response, filterChain);

    verify(response, never()).sendRedirect(anyString());
    verify(loginLimitManager).recordSuccessfulAttempt(adminUser, remoteAddr);
    final ArgumentCaptor<AuthToken> argumentCaptor = ArgumentCaptor.forClass(AuthToken.class);
    verify(httpSession).setAttribute(eq("jive.admin.authToken"), argumentCaptor.capture());
    final AuthToken authToken = argumentCaptor.getValue();
    assertThat(authToken.getUsername(), is(adminUser));
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:15,代码来源:AuthCheckFilterTest.java

示例8: authenticate

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 * Authenticates a user with a username, token, and digest and returns an AuthToken.
 * The digest should be generated using the {@link AuthFactory#createDigest(String, String)} method.
 * If the username and digest do not match the record of any user in the system, the
 * method throws an UnauthorizedException.
 *
 * @param username the username.
 * @param token the token that was used with plain-text password to generate the digest.
 * @param digest the digest generated from plain-text password and unique token.
 * @return an AuthToken token if the username and digest are correct for the user's
 *      password and given token.
 * @throws UnauthorizedException if the username and password do not match any
 *      existing user or the account is locked out.
 */
public static AuthToken authenticate(String username, String token, String digest)
        throws UnauthorizedException, ConnectionException, InternalUnauthenticatedException {
    if (username == null || token == null || digest == null) {
        throw new UnauthorizedException();
    }
    if ( LockOutManager.getInstance().isAccountDisabled(username)) {
        LockOutManager.getInstance().recordFailedLogin(username);
        throw new UnauthorizedException();
    }
    username = username.trim().toLowerCase();
    if (username.contains("@")) {
        // Check that the specified domain matches the server's domain
        int index = username.indexOf("@");
        String domain = username.substring(index + 1);
        if (domain.equals( XMPPServer.getInstance().getServerInfo().getXMPPDomain())) {
            username = username.substring(0, index);
        } else {
            // Unknown domain. Return authentication failed.
            throw new UnauthorizedException();
        }
    }
    try {
        String password = AuthFactory.getPassword( username );
        String anticipatedDigest = AuthFactory.createDigest(token, password);
        if (!digest.equalsIgnoreCase(anticipatedDigest)) {
            throw new UnauthorizedException();
        }
    }
    catch (UserNotFoundException unfe) {
        throw new UnauthorizedException();
    }
    // Got this far, so the user must be authorized.
    return new AuthToken(username);
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:49,代码来源:IQAuthHandler.java

示例9: authenticationSuccessful

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
private static void authenticationSuccessful(LocalSession session, String username,
        byte[] successData) {
    if (username != null && LockOutManager.getInstance().isAccountDisabled(username)) {
        // Interception!  This person is locked out, fail instead!
        LockOutManager.getInstance().recordFailedLogin(username);
        authenticationFailed(session);
        return;
    }
    StringBuilder reply = new StringBuilder(80);
    reply.append("<success xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\"");
    if (successData != null) {
        String successData_b64 = StringUtils.encodeBase64(successData).trim();
        reply.append(">").append(successData_b64).append("</success>");
    }
    else {
        reply.append("/>");
    }
    session.deliverRawText(reply.toString());
    // We only support SASL for c2s
    if (session instanceof ClientSession) {
        ((LocalClientSession) session).setAuthToken(new AuthToken(username));
    }
    else if (session instanceof IncomingServerSession) {
        String hostname = username;
        // Add the validated domain as a valid domain. The remote server can
        // now send packets from this address
        ((LocalIncomingServerSession) session).addValidatedDomain(hostname);
    }
}
 
开发者ID:coodeer,项目名称:g3server,代码行数:30,代码来源:SASLAuthentication.java

示例10: authenticationSuccessful

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
private static void authenticationSuccessful(LocalSession session, String username,
        byte[] successData) {
    if (username != null && LockOutManager.getInstance().isAccountDisabled(username)) {
        // Interception!  This person is locked out, fail instead!
        LockOutManager.getInstance().recordFailedLogin(username);
        authenticationFailed(session, Failure.ACCOUNT_DISABLED);
        return;
    }
    StringBuilder reply = new StringBuilder(80);
    reply.append("<success xmlns=\"urn:ietf:params:xml:ns:xmpp-sasl\"");
    if (successData != null) {
        String successData_b64 = StringUtils.encodeBase64(successData).trim();
        reply.append(">").append(successData_b64).append("</success>");
    }
    else {
        reply.append("/>");
    }
    session.deliverRawText(reply.toString());
    // We only support SASL for c2s
    if (session instanceof ClientSession) {
        ((LocalClientSession) session).setAuthToken(new AuthToken(username));
    }
    else if (session instanceof IncomingServerSession) {
        String hostname = username;
        // Add the validated domain as a valid domain. The remote server can
        // now send packets from this address
        ((LocalIncomingServerSession) session).addValidatedDomain(hostname);
    }
}
 
开发者ID:idwanglu2010,项目名称:openfire,代码行数:30,代码来源:SASLAuthentication.java

示例11: occupantJoined

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 *
 *
 */
public void occupantJoined(JID roomJID, JID user, String nickname)
{
	Log.info("ColibriIQHandler occupantJoined " + roomJID + " " + user + " " + nickname);

	String focusAgentName = "jitsi.videobridge." + roomJID.getNode();

	FocusAgent focusAgent;

	Participant participant = new Participant(nickname, user, focusAgentName);

	if (sessions.containsKey(focusAgentName))
	{
		focusAgent = sessions.get(focusAgentName);

	} else {
		focusAgent = new FocusAgent(focusAgentName, roomJID);
		LocalClientSession session = SessionManager.getInstance().createClientSession(focusAgent, new BasicStreamID(focusAgentName + "-" + System.currentTimeMillis() ) );
		focusAgent.setRouter( new SessionPacketRouter(session), session);
		AuthToken authToken = new AuthToken(focusAgentName, true);
		session.setAuthToken(authToken, focusAgentName);
		sessions.put(focusAgentName, focusAgent);

		Presence presence = new Presence();
		focusAgent.getRouter().route(presence);
	}

	if (registry.containsKey(user.toString()))
	{
		focusAgent.createColibriChannel(participant);

	} else {

		pending.put(user.toString() + roomJID.toString(), participant);
	}
}
 
开发者ID:idwanglu2010,项目名称:openfire,代码行数:40,代码来源:PluginImpl.java

示例12: startResume

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
private void startResume(String namespace, String previd, long h) {
    Log.debug("Attempting resumption for {}, h={}", previd, h);
    this.namespace = namespace;
    // Ensure that resource binding has NOT occurred.
    if (!allowResume() ) {
        sendUnexpectedError();
        return;
    }
    if (session.getStatus() == Session.STATUS_AUTHENTICATED) {
        sendUnexpectedError();
        return;
    }
    AuthToken authToken = null;
    // Ensure that resource binding has occurred.
    if (session instanceof ClientSession) {
        authToken = ((LocalClientSession) session).getAuthToken();
    }
    if (authToken == null) {
        sendUnexpectedError();
        return;
    }
    // Decode previd.
    String resource;
    String streamId;
    try {
        StringTokenizer toks = new StringTokenizer(new String(StringUtils.decodeBase64(previd), StandardCharsets.UTF_8), "\0");
        resource = toks.nextToken();
        streamId = toks.nextToken();
    } catch (Exception e) {
        Log.debug("Exception from previd decode:", e);
        sendUnexpectedError();
        return;
    }
    JID fullJid = new JID(authToken.getUsername(), authToken.getDomain(), resource, true);
    Log.debug("Resuming session {}", fullJid);

    // Locate existing session.
    LocalClientSession otherSession = (LocalClientSession)XMPPServer.getInstance().getRoutingTable().getClientRoute(fullJid);
    if (otherSession == null) {
        sendError(new PacketError(PacketError.Condition.item_not_found));
        return;
    }
    if (!otherSession.getStreamID().getID().equals(streamId)) {
        sendError(new PacketError(PacketError.Condition.item_not_found));
        return;
    }
    Log.debug("Found existing session, checking status");
    // Previd identifies proper session. Now check SM status
    if (!otherSession.getStreamManager().namespace.equals(namespace)) {
        sendError(new PacketError(PacketError.Condition.unexpected_request));
        return;
    }
    if (!otherSession.getStreamManager().resume) {
        sendError(new PacketError(PacketError.Condition.unexpected_request));
        return;
    }
    if (!otherSession.isDetached()) {
        Log.debug("Existing session is not detached; detaching.");
        Connection oldConnection = otherSession.getConnection();
        otherSession.setDetached();
        oldConnection.close();
    }
    Log.debug("Attaching to other session.");
    // If we're all happy, disconnect this session.
    Connection conn = session.getConnection();
    session.setDetached();
    // Connect new session.
    otherSession.reattach(conn, h);
    // Perform resumption on new session.
    session.close();
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:72,代码来源:StreamManager.java

示例13: getAuthToken

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 * Returns the auth token redirects to the login page if an auth token is not found.
 */
public AuthToken getAuthToken() {
    return (AuthToken)session.getAttribute("jive.admin.authToken");
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:7,代码来源:WebManager.java

示例14: getAuthToken

import org.jivesoftware.openfire.auth.AuthToken; //导入依赖的package包/类
/**
 * Returns the authentication token associated with this session.
 *
 * @return the authentication token associated with this session (can be null).
 */
public AuthToken getAuthToken() {
    return authToken;
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:9,代码来源:LocalClientSession.java


注:本文中的org.jivesoftware.openfire.auth.AuthToken类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。