mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-20 11:54:52 +00:00
This adds the extension points necessary to enable a user to write a elasticsearch plugin that can integrate with Shield and add a custom authentication realm. For the most part, the work here just exposes the existing interfaces we have been using for Realms and factories to create realms. An additional interface was added to allow for a custom authentication failure handler to be used. This was needed to support use cases like SSO and Kerberos where additional headers may need to be sent to the user or a different HTTP response code would need to be sent. Relates to elastic/elasticsearch#24 Original commit: elastic/x-pack-elasticsearch@13442e5919
123 lines
5.6 KiB
XML
123 lines
5.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<parent>
|
|
<artifactId>x-plugins-qa</artifactId>
|
|
<groupId>org.elasticsearch.qa</groupId>
|
|
<version>2.1.0-SNAPSHOT</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<artifactId>shield-example-realm</artifactId>
|
|
<name>QA: Shield Example Realm</name>
|
|
<description>A basic example custom realm with tests to ensure the functionality works in Shield</description>
|
|
|
|
<properties>
|
|
<elasticsearch.plugin.classname>org.elasticsearch.example.ExampleRealmPlugin</elasticsearch.plugin.classname>
|
|
<elasticsearch.plugin.isolated>false</elasticsearch.plugin.isolated>
|
|
<elasticsearch.integ.antfile>${project.basedir}/integration-tests.xml</elasticsearch.integ.antfile>
|
|
<xplugins.list>license,shield,shield-example-realm</xplugins.list>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.elasticsearch</groupId>
|
|
<artifactId>elasticsearch</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.elasticsearch.plugin</groupId>
|
|
<artifactId>shield</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>integ-setup-dependencies</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${skip.integ.tests}</skip>
|
|
<useBaseVersion>true</useBaseVersion>
|
|
<outputDirectory>${integ.deps}/plugins</outputDirectory>
|
|
|
|
<artifactItems>
|
|
<!-- elasticsearch distribution -->
|
|
<artifactItem>
|
|
<groupId>org.elasticsearch.distribution.zip</groupId>
|
|
<artifactId>elasticsearch</artifactId>
|
|
<version>${elasticsearch.version}</version>
|
|
<type>zip</type>
|
|
<overWrite>true</overWrite>
|
|
<outputDirectory>${integ.deps}</outputDirectory>
|
|
</artifactItem>
|
|
|
|
<!-- commercial plugins -->
|
|
<artifactItem>
|
|
<groupId>org.elasticsearch.plugin</groupId>
|
|
<artifactId>license</artifactId>
|
|
<version>${elasticsearch.version}</version>
|
|
<type>zip</type>
|
|
<overWrite>true</overWrite>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<groupId>org.elasticsearch.plugin</groupId>
|
|
<artifactId>shield</artifactId>
|
|
<version>${elasticsearch.version}</version>
|
|
<type>zip</type>
|
|
<overWrite>true</overWrite>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>${project.artifactId}</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>zip</type>
|
|
<overWrite>true</overWrite>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>ant-contrib</groupId>
|
|
<artifactId>ant-contrib</artifactId>
|
|
<version>1.0b3</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>ant</groupId>
|
|
<artifactId>ant</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.ant</groupId>
|
|
<artifactId>ant-nodeps</artifactId>
|
|
<version>1.8.1</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project> |