/* * Copyright 2016 Red Hat, Inc. and/or its affiliates * and other contributors as indicated by the @author tags. * * 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 org.keycloak.broker.provider; import org.keycloak.events.EventBuilder; import org.keycloak.models.ClientSessionModel; import org.keycloak.models.IdentityProviderModel; import org.keycloak.models.KeycloakSession; import org.keycloak.models.RealmModel; import org.keycloak.models.UserModel; import org.keycloak.models.UserSessionModel; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; /** * @author Pedro Igor */ public abstract class AbstractIdentityProvider<C extends IdentityProviderModel> implements IdentityProvider<C> { protected final KeycloakSession session; private final C config; public AbstractIdentityProvider(KeycloakSession session, C config) { this.session = session; this.config = config; } public C getConfig() { return this.config; } @Override public Response export(UriInfo uriInfo, RealmModel realm, String format) { return Response.noContent().build(); } @Override public void close() { // no-op } @Override public Object callback(RealmModel realm, AuthenticationCallback callback, EventBuilder event) { return null; } @Override public Response performLogin(AuthenticationRequest request) { return null; } @Override public Response keycloakInitiatedBrowserLogout(KeycloakSession session, UserSessionModel userSession, UriInfo uriInfo, RealmModel realm) { return null; } @Override public void backchannelLogout(KeycloakSession session, UserSessionModel userSession, UriInfo uriInfo, RealmModel realm) { } @Override public void attachUserSession(UserSessionModel userSession, ClientSessionModel clientSession, BrokeredIdentityContext context) { } @Override public void preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, BrokeredIdentityContext context) { } @Override public void importNewUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) { } @Override public void updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, BrokeredIdentityContext context) { } @Override public IdentityProviderDataMarshaller getMarshaller() { return new DefaultDataMarshaller(); } }