Newer
Older
sklauncher / src / main / java / com / skcraft / launcher / auth / LoginService.java
@sk89q sk89q on 9 Jan 2014 968 bytes Initial commit.
/*
 * SK's Minecraft Launcher
 * Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors
 * Please see LICENSE.txt for license information.
 */

package com.skcraft.launcher.auth;

import java.io.IOException;
import java.util.List;

/**
 * A service for creating authenticated sessions.
 */
public interface LoginService {

    /**
     * Attempt to login with the given details.
     *
     * @param agent the game to authenticate for, such as "Minecraft"
     * @param id the login ID
     * @param password the password
     * @return a list of authenticated sessions, which corresponds to identities
     * @throws IOException thrown on I/O error
     * @throws InterruptedException thrown if interrupted
     * @throws AuthenticationException thrown on an authentication error
     */
    List<? extends Session> login(String agent, String id, String password)
            throws IOException, InterruptedException, AuthenticationException;

}