@@ -0,0 +1,1616 @@
+package io.crossbar.autobahn.demogallery;%0A%0Aimport java.util.concurrent.CompletableFuture;%0A%0Aimport io.crossbar.autobahn.wamp.Client;%0Aimport io.crossbar.autobahn.wamp.Session;%0Aimport io.crossbar.autobahn.wamp.auth.ChallengeResponseAuth;%0Aimport io.crossbar.autobahn.wamp.auth.CryptosignAuth;%0Aimport io.crossbar.autobahn.wamp.auth.TicketAuth;%0Aimport io.crossbar.autobahn.wamp.interfaces.IAuthenticator;%0Aimport io.crossbar.autobahn.wamp.types.ExitInfo;%0A%0Apublic class AuthenticationExampleClient %7B%0A%0A    private static CompletableFuture%3CExitInfo%3E connect(%0A            String websocketURL, String realm, IAuthenticator authenticator) %7B%0A        Session wampSession = new Session();%0A        wampSession.addOnJoinListener((session, details) -%3E System.out.println(%22Joined session.%22));%0A        Client client = new Client(wampSession, websocketURL, realm, authenticator);%0A        return client.connect();%0A    %7D%0A%0A    public static CompletableFuture%3CExitInfo%3E exampleTicketAuth(%0A            String websocketURL, String realm, String authid, String ticket) %7B%0A        return connect(websocketURL, realm, new TicketAuth(authid, ticket));%0A    %7D%0A%0A    public static CompletableFuture%3CExitInfo%3E exampleCRA(%0A            String websocketURL, String realm, String authid, String secret) %7B%0A        return connect(websocketURL, realm, new ChallengeResponseAuth(authid, secret));%0A    %7D%0A%0A    public static CompletableFuture%3CExitInfo%3E exampleCryptoSign(%0A            String websocketURL, String realm, String authid, String privkey, String pubkey) %7B%0A        return connect(websocketURL, realm, new CryptosignAuth(authid, privkey, pubkey));%0A    %7D%0A%7D%0A

Add example client for auth methods (#361)