Skip to content

[Epic] Kerberos Authentication in ASP.NET Core #8897

@analogrelay

Description

@analogrelay

We want to support Kerberos Authentication in ASP.NET Core.

For 3.0, we are targetting the following supported environments as a minimum viable product (MVP):

  • ASP.NET Core Server Platform: Linux (including containers) (we'll try to avoid doing anything to prevent it from working on Windows/macOS, it just won't be the testing focus)
  • Domain Controller type: Active Directory, running on a Windows OS in the .NET Core
    support matrix (Windows Server 2008 R2 or higher)
  • Client: Domain-joined Windows Machines using IE11 and Edge. Other "evergreen" browsers (Chrome, Firefox) as long as they support Kerberos auth.

MVP Features

  • Challenge for a Kerberos ticket
  • Decode the ticket into an Identity that includes a user identifier of some kind
  • (Depending on the feasibility) Including group information in the Identity?
  • Support for offline ticket processing via a key table (keytab)

Not in the MVP:

  • NTLM is not a priority in the MVP, but we think it may come pretty cheap once Kerberos is up and running.
  • Allowing the server to call other services using the Kerberos identity provided by the client (i.e. SQL)
  • Allowing non-Windows servers to authenticate with Windows AD-protected resources via a service account
  • Unification with WindowsIdentity
  • Support for Domain Controllers/Server platforms other than those listed above (though we believe others may come "for free", we just won't be committing to testing those)
  • Support for Kubernetes gMSA is for Windows containers, and since the MVP focuses on Linux, Kubernetes gMSA isn't part of the MVP. We won't do anything to prevent Windows usage if possible though.

Other server platforms, DCs, clients, etc. may well come for free, but I want to set a really clear bar for what we are going to be committed to achieving in 3.0. We can always iterate on this in future releases.

Child Items:

Metadata

Metadata

Labels

EpicGroups multiple user stories. Can be grouped under a theme.area-authIncludes: Authn, Authz, OAuth, OIDC, Bearer

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions