How integrate Keycloak AD FS and PowerBI Report Server

Vladislav Alyushin 0 Reputation points
2024-08-12T19:10:02.9733333+00:00

Hi everyone!

I want realize 2fa authentication on Power BI Report Server use keycloak+adfs. I deployed Keycloak (auth.test.local) and ad fs (adds.test.local). In Keycloak imported metadata from ad fs (use saml). On adfs created claim provider (Keycloak) and relying party trust (identifier pbirs.test.local), on wap published application (external url pbirs.test.local, internal ecs-rs.test.local). When I go to https://pbirs.test.local/reports I see Keycloak authentication page, enter login, password and code. All is fine,but when I redirect to ad fs url with saml response parameters (email, given name, surname, roles) and redirect to power bi report server with url https://pbirs.test.local/reports?authtoken= I get 401 authentication error.

If I set Set-WebApplicationProxyApplication -BackendServerAuthenticationMode IntegratedWindowsAuthentication I get error:
Error details: ID0001: The required attribute 'Name' in the element 'Attribute' is missing. Exception details: System.Xml.XmlException: ID0001: The required attribute 'Name' in the element 'Attribute' is missing. at Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ReadAttribute(XmlReader reader) at Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ReadAttributeStatement(XmlReader reader) at Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ReadAssertion(XmlReader reader) at Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ReadToken(XmlReader reader) at Microsoft.IdentityModel.Tokens.SecurityTokenHandlerCollection.ReadToken(XmlReader reader) at Microsoft.IdentityModel.Tokens.SecurityTokenElement.ReadSecurityToken(XmlElement securityTokenXml, SecurityTokenHandlerCollection securityTokenHandlers) at Microsoft.IdentityServer.Service.Tokens.SamlMessageSecurityTokenHandler.ReadToken(XmlReader reader) at Microsoft.IdentityModel.Tokens.SecurityTokenHandlerCollection.ReadToken(XmlReader reader) at Microsoft.IdentityModel.Tokens.SecurityTokenElement.ReadSecurityToken(XmlElement securityTokenXml, SecurityTokenHandlerCollection securityTokenHandlers) at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.CreateAndSaveSamlSession(ProtocolContext context, SecurityTokenElement requestedTokenElement)

I can't understand where is error? as far I understand it's adds can't resolve saml token to integration window authentication. Is it possible and how?

Windows for business | Windows Client for IT Pros | Directory services | Active Directory
Microsoft Security | Active Directory Federation Services
0 comments No comments
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.