All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hivemq.spi.callback.security.OnAuthenticationCallback Maven / Gradle / Ivy

There is a newer version: 3.4.4
Show newest version
/*
 * Copyright 2014 dc-square GmbH
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.hivemq.spi.callback.security;

import com.hivemq.spi.callback.SynchronousCallback;
import com.hivemq.spi.callback.exception.AuthenticationException;
import com.hivemq.spi.security.ClientCredentialsData;

/**
 * This callback gets called when a CONNECT message arrives and is meant to
 * perform the authentication of a client.
 * 

* When more OnAuthenticationCallbacks are added only one must return * a positive result to successfully authenticate the client. *

* If an {@link AuthenticationException} is thrown, no additional * credentials checks in other plugins are made and the client is * disconnected immediately with an CONNACK with the given return code. *

* Note: It's your responsibility to use proper caching in the checkCredentials method * * @author Christian Goetz * @since 1.4 */ public interface OnAuthenticationCallback extends SynchronousCallback { /** * Checks the credentials after a CONNECT message arrives. *

* return true when the authentication with the credentials was successful, false otherwise * * @param clientData the client credentials * @return true when the authentication was successful * @throws AuthenticationException when you want the client to disconnect immediately with a given return code */ Boolean checkCredentials(ClientCredentialsData clientData) throws AuthenticationException; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy