<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Identity Providers on Apache Polaris</title><link>https://polaris.apache.org/releases/1.4.1/managing-security/external-idp/</link><description>Recent content in Identity Providers on Apache Polaris</description><generator>Hugo</generator><language>en-us</language><copyright>&lt;a href="https://www.apache.org/"&gt;Copyright © 2026 The Apache Software Foundation&lt;/a&gt;.&lt;br&gt;Licensed under the &lt;a href="https://www.apache.org/licenses/LICENSE-2.0"&gt;Apache License, Version 2.0&lt;/a&gt;.</copyright><atom:link href="https://polaris.apache.org/releases/1.4.1/managing-security/external-idp/index.xml" rel="self" type="application/rss+xml"/><item><title>Authentication Development Details</title><link>https://polaris.apache.org/releases/1.4.1/managing-security/external-idp/idp-dev-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.4.1/managing-security/external-idp/idp-dev-notes/</guid><description>&lt;h2 id="developer-architecture-notes" id="developer-architecture-notes"&gt;Developer Architecture Notes&lt;a class="heading-anchor" href="#developer-architecture-notes" aria-label="Anchor"&gt;🔗&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="authentication-architecture" id="authentication-architecture"&gt;Authentication Architecture&lt;a class="heading-anchor" href="#authentication-architecture" aria-label="Anchor"&gt;🔗&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Polaris separates authentication into two logical phases using &lt;a href="https://quarkus.io/guides/security-overview"&gt;Quarkus Security&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Credential extraction – parsing headers and tokens&lt;/li&gt;
&lt;li&gt;Credential authentication – validating identity and assigning roles&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="key-interfaces" id="key-interfaces"&gt;Key Interfaces&lt;a class="heading-anchor" href="#key-interfaces" aria-label="Anchor"&gt;🔗&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/auth/Authenticator.java"&gt;&lt;code&gt;Authenticator&lt;/code&gt;&lt;/a&gt;: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/auth/InternalPolarisToken.java"&gt;&lt;code&gt;InternalPolarisToken&lt;/code&gt;&lt;/a&gt;: Used in internal auth and inherits from &lt;code&gt;PrincipalCredential&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>