mobi.jenkinsci.ci.client.sso.AssemblaSsoHandler.java Source code

Java tutorial

Introduction

Here is the source code for mobi.jenkinsci.ci.client.sso.AssemblaSsoHandler.java

Source

// Copyright (C) 2013 GerritForge www.gerritforge.com
//
// Licensed 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 mobi.jenkinsci.ci.client.sso;

import java.io.IOException;
import java.util.HashMap;

import mobi.jenkinsci.ci.client.JenkinsFormAuthHttpClient;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.protocol.HttpContext;

public class AssemblaSsoHandler implements SsoHandler {

    private static final HashMap<FormId, String> ssoFormIds = new HashMap<FormId, String>();

    public static void init() {
        ssoFormIds.put(FormId.LOGIN_FORM, "login-box");
        ssoFormIds.put(FormId.USER, "user_login");
        ssoFormIds.put(FormId.PASS, "user_password");
        JenkinsFormAuthHttpClient.registerSsoHander("assembla.com", new AssemblaSsoHandler());
    }

    @Override
    public IOException getException(final HttpResponse response) {
        return new IOException("Assembla Login Failed");
    }

    @Override
    public String getSsoLoginFieldId(final FormId formId) {
        return ssoFormIds.get(formId);
    }

    @Override
    public String doTwoStepAuthentication(final HttpClient httpClient, final HttpContext httpContext,
            final HttpResponse redirectResponse, final String otp) throws IOException {
        throw new IOException("Unsupported 2-phase authentication for GitHub SSO");
    }

    @Override
    public String getSsoLoginButtonName() {
        return "commit";
    }
}