Search in sources :

Example 1 with NameCallback

use of org.eclipse.ecf.core.security.NameCallback in project ecf by eclipse.

the class HttpClientFileSystemBrowser method getFileRequestCredentials.

/**
 * Retrieves the credentials for requesting the file.
 * @return the {@link Credentials} necessary to retrieve the file
 * @throws UnsupportedCallbackException if the callback fails
 * @throws IOException if IO fails
 * @since 5.0
 */
protected Credentials getFileRequestCredentials() throws UnsupportedCallbackException, IOException {
    if (connectContext == null)
        return null;
    final CallbackHandler callbackHandler = connectContext.getCallbackHandler();
    if (callbackHandler == null)
        return null;
    final NameCallback usernameCallback = new NameCallback(USERNAME_PREFIX);
    final ObjectCallback passwordCallback = new ObjectCallback();
    callbackHandler.handle(new Callback[] { usernameCallback, passwordCallback });
    username = usernameCallback.getName();
    password = (String) passwordCallback.getObject();
    return new UsernamePasswordCredentials(username, password);
}
Also used : CallbackHandler(org.eclipse.ecf.core.security.CallbackHandler) NameCallback(org.eclipse.ecf.core.security.NameCallback) ObjectCallback(org.eclipse.ecf.core.security.ObjectCallback) UsernamePasswordCredentials(org.apache.http.auth.UsernamePasswordCredentials)

Example 2 with NameCallback

use of org.eclipse.ecf.core.security.NameCallback in project ecf by eclipse.

the class HttpClientRetrieveFileTransfer method getFileRequestCredentials.

/**
 * @return Credentials file request credentials
 * @throws UnsupportedCallbackException if some problem
 * @throws IOException if some problem
 * @since 5.0
 */
protected Credentials getFileRequestCredentials() throws UnsupportedCallbackException, IOException {
    if (connectContext == null)
        return null;
    final CallbackHandler callbackHandler = connectContext.getCallbackHandler();
    if (callbackHandler == null)
        return null;
    final NameCallback usernameCallback = new NameCallback(USERNAME_PREFIX);
    final ObjectCallback passwordCallback = new ObjectCallback();
    callbackHandler.handle(new Callback[] { usernameCallback, passwordCallback });
    username = usernameCallback.getName();
    password = (String) passwordCallback.getObject();
    return new UsernamePasswordCredentials(username, password);
}
Also used : CallbackHandler(org.eclipse.ecf.core.security.CallbackHandler) NameCallback(org.eclipse.ecf.core.security.NameCallback) ObjectCallback(org.eclipse.ecf.core.security.ObjectCallback) UsernamePasswordCredentials(org.apache.http.auth.UsernamePasswordCredentials)

Example 3 with NameCallback

use of org.eclipse.ecf.core.security.NameCallback in project ecf by eclipse.

the class AbstractBBContainer method getCredentialsFromConnectContext.

protected IBBCredentials getCredentialsFromConnectContext(IConnectContext connectContext) throws ContainerConnectException {
    try {
        if (connectContext == null) {
            return null;
        }
        Callback[] callbacks = new Callback[2];
        callbacks[0] = new NameCallback("Username");
        callbacks[1] = new ObjectCallback();
        CallbackHandler handler = connectContext.getCallbackHandler();
        if (handler != null) {
            handler.handle(callbacks);
        }
        NameCallback nc = (NameCallback) callbacks[0];
        ObjectCallback cb = (ObjectCallback) callbacks[1];
        return new Credentials(nc.getName(), (String) cb.getObject());
    } catch (Exception e) {
        throw new ContainerConnectException("Exception in CallbackHandler.handle(<callbacks>)", e);
    }
}
Also used : CallbackHandler(org.eclipse.ecf.core.security.CallbackHandler) ObjectCallback(org.eclipse.ecf.core.security.ObjectCallback) Callback(org.eclipse.ecf.core.security.Callback) NameCallback(org.eclipse.ecf.core.security.NameCallback) NameCallback(org.eclipse.ecf.core.security.NameCallback) ContainerConnectException(org.eclipse.ecf.core.ContainerConnectException) ObjectCallback(org.eclipse.ecf.core.security.ObjectCallback) IBBCredentials(org.eclipse.ecf.bulletinboard.IBBCredentials) ContainerConnectException(org.eclipse.ecf.core.ContainerConnectException) BBException(org.eclipse.ecf.bulletinboard.BBException)

Example 4 with NameCallback

use of org.eclipse.ecf.core.security.NameCallback in project ecf by eclipse.

the class UrlConnectionRetrieveFileTransfer method setupAuthentication.

protected void setupAuthentication() throws IOException, UnsupportedCallbackException {
    if (connectContext == null)
        return;
    final CallbackHandler callbackHandler = connectContext.getCallbackHandler();
    if (callbackHandler == null)
        return;
    final NameCallback usernameCallback = new NameCallback(USERNAME_PREFIX);
    final ObjectCallback passwordCallback = new ObjectCallback();
    // Call callback with username and password callbacks
    callbackHandler.handle(new Callback[] { usernameCallback, passwordCallback });
    username = usernameCallback.getName();
    Object o = passwordCallback.getObject();
    if (!(o instanceof String))
        throw new UnsupportedCallbackException(passwordCallback, Messages.UrlConnectionRetrieveFileTransfer_UnsupportedCallbackException);
    password = (String) passwordCallback.getObject();
    // Now set authenticator to our authenticator with user and password
    Authenticator.setDefault(new UrlConnectionAuthenticator());
}
Also used : CallbackHandler(org.eclipse.ecf.core.security.CallbackHandler) NameCallback(org.eclipse.ecf.core.security.NameCallback) ObjectCallback(org.eclipse.ecf.core.security.ObjectCallback) UnsupportedCallbackException(org.eclipse.ecf.core.security.UnsupportedCallbackException)

Example 5 with NameCallback

use of org.eclipse.ecf.core.security.NameCallback in project ecf by eclipse.

the class URLFileSystemBrowser method setupAuthentication.

protected void setupAuthentication() throws IOException, UnsupportedCallbackException {
    if (connectContext == null)
        return;
    final CallbackHandler callbackHandler = connectContext.getCallbackHandler();
    if (callbackHandler == null)
        return;
    final NameCallback usernameCallback = new NameCallback(USERNAME_PREFIX);
    final ObjectCallback passwordCallback = new ObjectCallback();
    // Call callback with username and password callbacks
    callbackHandler.handle(new Callback[] { usernameCallback, passwordCallback });
    username = usernameCallback.getName();
    Object o = passwordCallback.getObject();
    if (!(o instanceof String))
        throw new UnsupportedCallbackException(passwordCallback, Messages.UrlConnectionRetrieveFileTransfer_UnsupportedCallbackException);
    password = (String) passwordCallback.getObject();
    // Now set authenticator to our authenticator with user and password
    Authenticator.setDefault(new UrlConnectionAuthenticator());
}
Also used : CallbackHandler(org.eclipse.ecf.core.security.CallbackHandler) NameCallback(org.eclipse.ecf.core.security.NameCallback) ObjectCallback(org.eclipse.ecf.core.security.ObjectCallback) UnsupportedCallbackException(org.eclipse.ecf.core.security.UnsupportedCallbackException)

Aggregations

CallbackHandler (org.eclipse.ecf.core.security.CallbackHandler)6 NameCallback (org.eclipse.ecf.core.security.NameCallback)6 ObjectCallback (org.eclipse.ecf.core.security.ObjectCallback)5 UsernamePasswordCredentials (org.apache.http.auth.UsernamePasswordCredentials)2 ContainerConnectException (org.eclipse.ecf.core.ContainerConnectException)2 Callback (org.eclipse.ecf.core.security.Callback)2 UnsupportedCallbackException (org.eclipse.ecf.core.security.UnsupportedCallbackException)2 IOException (java.io.IOException)1 BBException (org.eclipse.ecf.bulletinboard.BBException)1 IBBCredentials (org.eclipse.ecf.bulletinboard.IBBCredentials)1 ContainerConnectedEvent (org.eclipse.ecf.core.events.ContainerConnectedEvent)1 ContainerConnectingEvent (org.eclipse.ecf.core.events.ContainerConnectingEvent)1 IDCreateException (org.eclipse.ecf.core.identity.IDCreateException)1 SharedObjectAddException (org.eclipse.ecf.core.sharedobject.SharedObjectAddException)1 ECFException (org.eclipse.ecf.core.util.ECFException)1 ConnectionCreateException (org.eclipse.ecf.provider.comm.ConnectionCreateException)1 XMPPRoomID (org.eclipse.ecf.provider.xmpp.identity.XMPPRoomID)1 PacketListener (org.jivesoftware.smack.PacketListener)1 XMPPException (org.jivesoftware.smack.XMPPException)1 Packet (org.jivesoftware.smack.packet.Packet)1