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/31722c26 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/31722c26 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/31722c26 Branch: refs/heads/master Commit: 31722c26745a8a741c53f0aaaba25b0f1d576d12 Parents: a6a63dd 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 12:01:29 2014 +0200 ---------------------------------------------------------------------- .../com/cloud/api/auth/APIAuthenticator.java | 40 ++++++++++++++++++++ 1 file changed, 40 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/31722c26/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(); + +}