| | |
| | | import com.sun.net.httpserver.HttpExchange; |
| | | import com.sun.net.httpserver.HttpHandler; |
| | | import de.uhilger.httpserver.auth.realm.User; |
| | | import de.uhilger.httpserver.base.handler.HttpHelper; |
| | | import de.uhilger.httpserver.base.handler.HttpResponder; |
| | | import de.uhilger.httpserver.base.HttpHelper; |
| | | import de.uhilger.httpserver.base.HttpResponder; |
| | | import java.io.IOException; |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | | |
| | | /** |
| | |
| | | "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA" |
| | | } |
| | | */ |
| | | /** |
| | | * Login-Anfragen ausfuehren |
| | | * |
| | | * @param exchange das Objekt mit Informationen zu HTTP-Anfrage und -Antwort |
| | | * @throws IOException |
| | | */ |
| | | @Override |
| | | public void handle(HttpExchange exchange) throws IOException { |
| | | HttpContext context = exchange.getHttpContext(); |
| | |
| | | if (o instanceof BearerAuthenticator) { |
| | | BearerAuthenticator auth = (BearerAuthenticator) o; |
| | | User user = getUser(exchange); |
| | | LoginResponse response = auth.login(user.getName(), user.getPassword()); |
| | | LoginResponse response = auth.login(exchange, user.getName(), user.getPassword()); |
| | | handleLoginResponse(exchange, response); |
| | | /* |
| | | if(response != null) { |
| | | // hier erfolg melden |
| | | // 200 OK |
| | | setLoginHeader(exchange); |
| | | HttpResponder r = new HttpResponder(); |
| | | r.antwortSenden(exchange, 200, response.toJson()); |
| | | } else { |
| | | HttpResponder r = new HttpResponder(); |
| | | r.antwortSenden(exchange, 406, "Login failed."); |
| | | } |
| | | */ |
| | | } else { |
| | | HttpResponder r = new HttpResponder(); |
| | | r.antwortSenden(exchange, 500, "No suitable authenticator."); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Die Antwort des Authenticators auf eine Login-Anfrage verarbeiten |
| | | * @param exchange das Objekt mit Informationen zu HTTP-Anfrage und -Antwort |
| | | * @param response die Antwort des Autehnticators |
| | | * @throws IOException |
| | | */ |
| | | protected void handleLoginResponse(HttpExchange exchange, LoginResponse response) throws IOException { |
| | | if(response != null) { |
| | | // hier erfolg melden |
| | | // 200 OK |
| | | setLoginHeader(exchange); |
| | | HttpResponder r = new HttpResponder(); |
| | | r.antwortSenden(exchange, 200, response.toJson()); |