[[elytron-component]]
= Undertow Elytron Security Provider
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-elytron/src/main/docs/elytron-component.adoc
//by hand
:since: 3.2

*Since Camel {since}*

*Replaces component camel-elytron*

*OSGi is not supported*

The Elytron Security Provider provides Elytron security over camel-undertow component.
It enables camel-undertow component use Elytron security capabilities.
To force camel-undertow to use elytron security provider, add elytron security provider library
on classpath and provide instance of ElytronSercurityConfiguration as `securityConfiguration`
parameter into camel-undertow component or provide both  `securityConfiguration` and `securityProvider`
into camel-undertow component.

Configuration has to provide all 3 security attributes:
[width="100%"]
|===
| Name | Description | Type
| *domainBuilder* | Builder for security domain. | SecurityDomain.Builder
| *mechanismName* | MechanismName should be selected with regard to default securityRealm. For
example: to use bearer_token security, mechanism name has to be "BEARER_TOKEN" and realm has to be
TokenSecurityReal | String
| *elytronProvider* | Instance of WildFlyElytronBaseProvider ith respect of mechanismName | WildFlyElytronBaseProvider
|===

Each exchange created by Undertow endpoint with Elytron security contains header 'securityIdentity'
with current Elytron's security identity as value.
('org.wildfly.security.auth.server.SecurityIdentity') or is FORBIDDEN (status code 403)

Maven users will need to add the following dependency to their `pom.xml`
for this component:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-elytron</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
----

== Other Elytron capabilities

This seurity provider contains only basic Elytron dependencies (without any transitive dependency
from org.wildfly.security:wildfly-elytron).
Ignored libraries should be added among application's dependencies for their usage.

