Skip to content
This repository was archived by the owner on Sep 8, 2025. It is now read-only.

Commit c55c69a

Browse files
authored
Merge pull request #411 from IdentityModel/joe/readmes
Updated the READMEs
2 parents 49595f9 + 9cc2238 commit c55c69a

File tree

8 files changed

+143
-9
lines changed

8 files changed

+143
-9
lines changed

README.md

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,43 @@
1-
# C#/NetStandard OpenID Connect Client Library for native Applications
2-
Supported platforms: netstandard14, desktop .NET, UWP, .NET Core, Xamarin iOS & Android. [Nuget.](https://www.nuget.org/packages/IdentityModel.OidcClient/)
1+
## About IdentityModel.OidcClient
2+
This repository contains several libraries for building OpenID Connect (OIDC) native
3+
clients. The core IdentityModel.OidcClient library is a certified OIDC relying party and
4+
implements [RFC 8252](https://tools.ietf.org/html/rfc8252/), "OAuth 2.0 for native
5+
Applications". The IdentityModel.OidcClient.IdTokenValidator provides validation of Id
6+
Tokens based on the Microsoft JWT handler:
7+
[IdentityModel.OidcClient.IdentityTokenValidator](https://www.nuget.org/packages/IdentityModel.OidcClient.IdentityTokenValidator),
8+
and is distributed as a separate package in order to prevent certain dependency problems.
9+
Finally, IdentityModel.OidcClient.DPoP adds [DPoP](https://datatracker.ietf.org/doc/html/rfc9449)
10+
extensions to IdentityModel.OidcClient for sender-constraining tokens.
311

4-
[Certified](http://openid.net/certification/) OpenID Connect relying party implementation.
12+
13+
## Samples
14+
OidcClient targets .NET Standard, making it suitable for .NET and .NET
15+
Framework. It can be used to build OIDC native clients with a variety of .NET UI tools.
16+
The [samples repository](https://github.com/IdentityModel/IdentityModel.OidcClient.Samples)
17+
shows how to use it in
18+
- .NET MAUI
19+
- Console Applications
20+
- WPF
21+
- WinForms
22+
- Xamarin iOS & Android
23+
- UWP
24+
25+
## Documentation
26+
27+
More documentation is available
28+
[here](https://identitymodel.readthedocs.io/en/latest/native/overview.html).
29+
30+
31+
## Standards and Certification
32+
OidcClient is a [certified](http://openid.net/certification/) OpenID Connect
33+
relying party implementation,
534

635
![openid_certified](https://cloud.githubusercontent.com/assets/1454075/7611268/4d19de32-f97b-11e4-895b-31b2455a7ca6.png)
736

8-
See [here](https://identitymodel.readthedocs.io/en/latest/native/overview.html) for documentation and [here](https://github.com/IdentityModel/IdentityModel.OidcClient.Samples) for samples.
37+
38+
## Feedback
39+
40+
IdentityModel.OidcClient is released as open source under the
41+
[Apache 2.0 license](https://github.com/IdentityModel/IdentityModel.OidcClient/blob/main/LICENSE).
42+
Bug reports and contributions are welcome at
43+
[the GitHub repository](https://github.com/IdentityModel/IdentityModel.OidcClient).

src/DPoP/DPoP.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<Description>DPoP extensions for IdentityModel.OidcClient</Description>
1414
<Authors>Dominick Baier;Brock Allen</Authors>
1515
<PackageIcon>icon.jpg</PackageIcon>
16-
16+
<PackageReadmeFile>README.md</PackageReadmeFile>
1717
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
1818
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1919

@@ -36,6 +36,7 @@
3636

3737
<ItemGroup>
3838
<None Include="../../icon.jpg" Pack="true" Visible="false" PackagePath="" />
39+
<None Include="README.md" Pack="true" PackagePath=""/>
3940
</ItemGroup>
4041

4142
<ItemGroup>

src/DPoP/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## About IdentityModel.OidcClient
2+
IdentityModel.OidcClient.DPoP adds support for DPoP ([RFC
3+
9449](https://datatracker.ietf.org/doc/html/rfc9449)) to IdentityModel.OidcClient. DPoP
4+
sender-constrains access and refresh tokens to protect them against replay attacks, and is
5+
often used by mobile and other native applications.
6+
7+
## Related Packages
8+
9+
- Library for claims-based identity, OAuth 2.0, and OpenID Connect: [IdentityModel](https://www.nuget.org/packages/IdentityModel)
10+
- RFC8252 compliant and certified OpenID Connect and OAuth 2.0 client library for native applications: [IdentityModel.OidcClient](https://www.nuget.org/packages/IdentityModel.OidcClient)
11+
- Id token validator for IdentityModel.OidcClient based on the Microsoft JWT handler: [IdentityModel.OidcClient.IdentityTokenValidator](https://www.nuget.org/packages/IdentityModel.OidcClient.IdentityTokenValidator)
12+
- Authentication handler for introspection tokens: [IdentityModel.AspNetCore.OAuth2Introspection](https://www.nuget.org/packages/IdentityModel.AspNetCore.OAuth2Introspection)
13+
14+
## Feedback
15+
16+
IdentityModel.OidcClient is released as open source under the
17+
[Apache 2.0 license](https://github.com/IdentityModel/IdentityModel.OidcClient/blob/main/LICENSE).
18+
Bug reports and contributions are welcome at
19+
[the GitHub repository](https://github.com/IdentityModel/IdentityModel.OidcClient).

src/IdentityTokenValidator/IdentityTokenValidator.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<Authors>Dominick Baier;Brock Allen</Authors>
1212
<PackageIcon>icon.jpg</PackageIcon>
1313
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
14+
<PackageReadmeFile>README.md</PackageReadmeFile>
1415
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1516

1617
<!-- Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
@@ -31,6 +32,7 @@
3132

3233
<ItemGroup>
3334
<None Include="../../icon.jpg" Pack="true" Visible="false" PackagePath="" />
35+
<None Include="README.md" Pack="true" PackagePath=""/>
3436
</ItemGroup>
3537

3638
<ItemGroup>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
## About IdentityModel.OidcClient
2+
IdentityModel.OidcClient.IdentityTokenValidator validates ID tokens using Microsoft's
3+
[System.IdentityModel.Tokens.Jwt](https://www.nuget.org/packages/System.IdentityModel.Tokens.Jwt/)
4+
library. It is intended to be used with
5+
[IdentityModel.OidcClient](https://www.nuget.org/packages/IdentityModel.OidcClient/),
6+
which provides an abstraction for validation of ID tokens that this package implements.
7+
Distributing the ID token validator separately allows for greater control of the version
8+
of the Microsoft JWT handler and prevents certain dependency issues.
9+
10+
## Related Packages
11+
12+
- Library for claims-based identity, OAuth 2.0, and OpenID Connect: [IdentityModel](https://www.nuget.org/packages/IdentityModel)
13+
- RFC8252 compliant and certified OpenID Connect and OAuth 2.0 client library for native applications: [IdentityModel.OidcClient](https://www.nuget.org/packages/IdentityModel.OidcClient)
14+
- Id token validator for IdentityModel.OidcClient based on the Microsoft JWT handler: [IdentityModel.OidcClient.IdentityTokenValidator](https://www.nuget.org/packages/IdentityModel.OidcClient.IdentityTokenValidator)
15+
- Authentication handler for introspection tokens: [IdentityModel.AspNetCore.OAuth2Introspection](https://www.nuget.org/packages/IdentityModel.AspNetCore.OAuth2Introspection)
16+
17+
## Feedback
18+
19+
IdentityModel.OidcClient.IdentityTokenValidator is released as open source under the
20+
[Apache 2.0 license](https://github.com/IdentityModel/IdentityModel.OidcClient/blob/main/LICENSE).
21+
Bug reports and contributions are welcome at
22+
[the GitHub repository](https://github.com/IdentityModel/IdentityModel.OidcClient).

src/OidcClient/OidcClient.csproj

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<PackageId>IdentityModel.OidcClient</PackageId>
54
<RootNamespace>IdentityModel.OidcClient</RootNamespace>
65
<AssemblyName>IdentityModel.OidcClient</AssemblyName>
76

87
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
98
<LangVersion>latest</LangVersion>
109

10+
<PackageId>IdentityModel.OidcClient</PackageId>
1111
<PackageTags>OAuth2;OAuth 2.0;OpenID Connect;Security;Identity;IdentityServer</PackageTags>
1212
<Description>RFC8252 compliant and certified OpenID Connect and OAuth 2.0 client library for native applications</Description>
1313
<Authors>Dominick Baier;Brock Allen</Authors>
1414
<PackageIcon>icon.jpg</PackageIcon>
15-
1615
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
16+
<PackageReadmeFile>README.md</PackageReadmeFile>
17+
1718
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1819

1920
<!-- Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
@@ -37,7 +38,8 @@
3738

3839
<ItemGroup>
3940
<None Include="../../icon.jpg" Pack="true" Visible="false" PackagePath="" />
40-
</ItemGroup>
41+
<None Include="README.md" Pack="true" PackagePath=""/>
42+
</ItemGroup>
4143

4244
<ItemGroup>
4345
<PackageReference Include="IdentityModel" Version="6.2.0" />

src/OidcClient/README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
## About IdentityModel.OidcClient
2+
IdentityModel.OidcClient is an OpenID Connect (OIDC) client library that for native
3+
applications. It provides
4+
- Types that describe OIDC requests and responses
5+
- Low level methods to construct protocol state and handle responses
6+
- Higher level methods for
7+
- Logging in
8+
- Logging out
9+
- Retrieving userinfo
10+
- Refreshing tokens
11+
12+
## Samples
13+
IdentityModel.OidcClient targets .NET Standard, making it suitable for .NET and .NET
14+
Framework. It can be used to build OIDC native clients with a variety of .NET UI tools.
15+
The [samples repository](https://github.com/IdentityModel/IdentityModel.OidcClient.Samples)
16+
shows how to use it in
17+
- .NET MAUI
18+
- Console Applications
19+
- WPF
20+
- WinForms
21+
- Xamarin iOS & Android
22+
- UWP
23+
24+
## Documentation
25+
26+
More documentation is available
27+
[here](https://identitymodel.readthedocs.io/en/latest/native/overview.html).
28+
29+
30+
## Standards and Certification
31+
IdentityModel.OidcClient is a [certified](http://openid.net/certification/) OpenID Connect
32+
relying party implementation, and implements [RFC 8252](https://tools.ietf.org/html/rfc8252/),
33+
"OAuth 2.0 for native Applications".
34+
35+
![openid_certified](https://cloud.githubusercontent.com/assets/1454075/7611268/4d19de32-f97b-11e4-895b-31b2455a7ca6.png)
36+
37+
38+
39+
40+
## Related Packages
41+
42+
- Library for claims-based identity, OAuth 2.0, and OpenID Connect: [IdentityModel](https://www.nuget.org/packages/IdentityModel)
43+
- Id token validator for IdentityModel.OidcClient based on the Microsoft JWT handler: [IdentityModel.OidcClient.IdentityTokenValidator](https://www.nuget.org/packages/IdentityModel.OidcClient.IdentityTokenValidator)
44+
- [DPoP](https://datatracker.ietf.org/doc/html/rfc9449) extensions for IdentityModel.OidcClient: [IdentityModel.OidcClient.DPoP ](https://www.nuget.org/packages/IdentityModel.OidcClient.DPoP)
45+
- Authentication handler for introspection tokens: [IdentityModel.AspNetCore.OAuth2Introspection](https://www.nuget.org/packages/IdentityModel.AspNetCore.OAuth2Introspection)
46+
47+
## Feedback
48+
49+
IdentityModel.OidcClient is released as open source under the
50+
[Apache 2.0 license](https://github.com/IdentityModel/IdentityModel.OidcClient/blob/main/LICENSE).
51+
Bug reports and contributions are welcome at
52+
[the GitHub repository](https://github.com/IdentityModel/IdentityModel.OidcClient).

test/TrimmableAnalysis/TrimmableAnalysis.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
<ImplicitUsings>enable</ImplicitUsings>
77
<PublishTrimmed>true</PublishTrimmed>
88
<TrimmerSingleWarn>false</TrimmerSingleWarn>
9-
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
9+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
10+
<IsPackable>false</IsPackable>
1011
</PropertyGroup>
1112

1213
<ItemGroup>

0 commit comments

Comments
 (0)