RFC8252 compliant and certified OpenID Connect and OAuth 2.0 client library for native applications


Keywords
2.0, Connect, Identity, IdentityServer, OAuth, OAuth2, OpenID, Security, oidcclient, openid-connect
License
Apache-2.0
Install
Install-Package IdentityModel.OidcClient -Version 5.2.0

Documentation

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.