/IdentityModel.OidcClient

Certified C#/NetStandard OpenID Connect Client Library for native mobile/desktop Applications (RFC 8252)

Primary LanguageC#Apache License 2.0Apache-2.0

About IdentityModel.OidcClient

This repository contains several libraries for building OpenID Connect (OIDC) native clients. The core IdentityModel.OidcClient library is a certified OIDC relying party and implements RFC 8252, "OAuth 2.0 for native Applications". The IdentityModel.OidcClient.IdTokenValidator provides validation of Id Tokens based on the Microsoft JWT handler: IdentityModel.OidcClient.IdentityTokenValidator, and is distributed as a separate package in order to prevent certain dependency problems. Finally, IdentityModel.OidcClient.DPoP adds DPoP extensions to IdentityModel.OidcClient for sender-constraining tokens.

Samples

OidcClient targets .NET Standard, making it suitable for .NET and .NET Framework. It can be used to build OIDC native clients with a variety of .NET UI tools. The samples repository shows how to use it in

  • .NET MAUI
  • WPF with the system browser
  • WPF with an embedded browser
  • WinForms with an embedded browser
  • Cross Platform Console Applications (relies on kestrel for processing the callback)
  • Windows Console Applications (relies on an HttpListener - a wrapper around the windows HTTP.sys driver)
  • Windows Console Applications using custom uri schemes

Documentation

More documentation is available here.

Certification

OidcClient is a certified OpenID Connect relying party implementation.

Feedback

IdentityModel.OidcClient is released as open source under the Apache 2.0 license. Bug reports and contributions are welcome at the GitHub repository.