APIAuthenticator: Add interface definition for the auth mechanisms Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2b3538c0 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2b3538c0 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2b3538c0 Branch: refs/heads/auth-refactor Commit: 2b3538c04db8e28a1492076d73f886171e87bfb4 Parents: 1508423 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Authored: Tue Aug 12 07:26:32 2014 +0200 Committer: Rohit Yadav <rohit.ya...@shapeblue.com> Committed: Tue Aug 12 09:19:42 2014 +0200 ---------------------------------------------------------------------- .../com/cloud/api/auth/APIAuthenticator.java | 40 ++++++++++++++++++++ 1 file changed, 40 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2b3538c0/server/src/com/cloud/api/auth/APIAuthenticator.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/auth/APIAuthenticator.java b/server/src/com/cloud/api/auth/APIAuthenticator.java new file mode 100644 index 0000000..a0f669e --- /dev/null +++ b/server/src/com/cloud/api/auth/APIAuthenticator.java @@ -0,0 +1,40 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you 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.cloud.api.auth; + +import org.apache.cloudstack.api.ServerApiException; + +import javax.servlet.http.HttpSession; +import java.util.Map; + +/* +* APIAuthenticator is an interface that defines method that +* a class should implement that help with Authentication and accepts +* a command string and an array of parameters. This should be used only +* in the Servlet that is doing authentication. +* +* @param command The API command name such as login, logout etc +* @param params An array of HTTP parameters +* @param session HttpSession object +* */ +public interface APIAuthenticator { + public String authenticate(String command, Map<String, Object[]> params, + HttpSession session, String remoteAddress, String responseType, + StringBuilder auditTrailSb) throws ServerApiException; + public APIAuthenticationType getAPIType(); + +}