<!--
  ~ 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.
  -->

<section id="social-spi">
    <title>Social Provider SPI</title>
    <para>
        Keycloak provides an SPI to make it easy to add additional social providers. This is done by implementing
        <literal>org.keycloak.social.SocialProvider</literal> in <literal>social/core</literal>
        and adding a provider configuration file (<literal>META-INF/services/org.keycloak.social.SocialProvider</literal>).
    </para>
    <para>
        A good reference for implementing a Social Provider is the Google provider which you can find in <literal>social/google</literal>
        on GitHub or in the source download.
    </para>
</section>