title: .NET Core 2.1 Linux Keycloak integration\authentication (OpenID Connect + SSSD)
body: <p>I am kinda lost now, I want to implement centralised user management here, and we have .NET Core 2.1 Web MVC app hosted on Linux, which uses <code>Identity.EntityFrameworkCore</code> to store users' information. Also we have FreeIPA for user management which is basically Kerberos authentication on LDAP directory. </p>
  
  <p>As it's deployed on Linux I can't use <code>WindowsAuthentication</code> to use Kerberos, and also there is no standard way to use LDAP without Windows Compatibility Pack. The only way that is left is to use third-party library, but unfortunately I'm really new to .NET Core and C#, so here's what I'm trying to do:</p>
  
  <ol>
  <li>Store user information (roles\claims\credentials) inside LDAP to implement centralised user management (now using database tables)</li>
  <li>I want to implement SSO, this is possible via Kerberos Negotiate authentication, but now I can't find a way to use this on Linux. Also it's possible with app-> redirect to Keycloak -> Kerberos->OpenID Connect -> app, but I'd be glad to find solution with Kerberos</li>
  </ol>
  
  <p>Well, I found bunch of third-party libraries like <a href="https://github.com/flamencist/ldap4net" rel="nofollow noreferrer">this</a>, <a href="https://www.nuget.org/packages/Novell.Directory.Ldap.NETStandard" rel="nofollow noreferrer">this</a> and the whole bunch of <a href="https://nugetmusthaves.com/Tag/LDAP" rel="nofollow noreferrer">THIS</a>, and they all look promising, but I didn't found any with enough documentation or examples to use with .NET Core <code>Identity</code>. </p>
  
  <p>As I said, I'm complete newbie in C# and .NET overall, and I'm unfortunately don't have an idea about either which of this library is better or is there any for straightforward way to use them to store and authenticate users.</p>
  
  <p><strong>P.S</strong> I know this question is dumb, but for learning purposes I had to make one. Any help with this would be appreciated!</p>