Skip to content

Commit c990d03

Browse files
committed
Add logo & package info.
1 parent 458e829 commit c990d03

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

AutoRefreshTokenHttpMessageHandler/AutoRefreshTokenHttpMessageHandler.csproj

+24
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,32 @@
77
<LangVersion>latest</LangVersion>
88
<EnableNETAnalyzers>true</EnableNETAnalyzers>
99
<AnalysisLevel>latest</AnalysisLevel>
10+
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
11+
<Title>AutoRefreshTokenHttpMessageHandler</Title>
12+
<Authors>RobIII</Authors>
13+
<Company>Devcorner.nl</Company>
14+
<Description>A thread-safe implementation of a DelegatingHandler that automatically refreshes the access token when the access token expires whilst **not** serializing all requests.</Description>
15+
<Copyright>(C) 2024 Devcorner.nl</Copyright>
16+
<PackageProjectUrl>https://github.com/RobThree/AutoRefreshTokenHttpMessageHandler</PackageProjectUrl>
17+
<PackageReadmeFile>README.md</PackageReadmeFile>
18+
<RepositoryUrl>https://github.com/RobThree/AutoRefreshTokenHttpMessageHandler.git</RepositoryUrl>
19+
<RepositoryType>git</RepositoryType>
20+
<PackageTags>accesstoken;refreshtoken;delegatinghandler</PackageTags>
21+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
22+
<PackageIcon>logo.png</PackageIcon>
1023
</PropertyGroup>
1124

25+
<ItemGroup>
26+
<None Include="..\logo.png">
27+
<Pack>True</Pack>
28+
<PackagePath>\</PackagePath>
29+
</None>
30+
<None Include="..\README.md">
31+
<Pack>True</Pack>
32+
<PackagePath>\</PackagePath>
33+
</None>
34+
</ItemGroup>
35+
1236
<ItemGroup>
1337
<PackageReference Include="Microsoft.Extensions.Options" Version="8.0.2" />
1438
</ItemGroup>

README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# AutoRefreshTokenHttpMessageHandler
1+
# ![icon.png](icon.png) AutoRefreshTokenHttpMessageHandler
22

33
This is a thread-safe implementation of a `DelegatingHandler` that automatically refreshes the access token when the access token expires whilst **not** serializing all requests. Most implementations use a lock internally which essentially makes all async actions synchronous again. This implementation only blocks during the actual refresh. Inspired by Bryan Helms' [Thread-Safe Auth Token Store Using ConcurrentDictionary and AsyncLazy](https://bryanhelms.com/2021/03/29/thread-safe-auth-token-store-using-concurrentdictionary-and-asynclazy.html).
44

@@ -73,4 +73,8 @@ builder.Services.AddHttpClient<MyService>()
7373
"TokenEndpoint": "http://auth.myservice.com/realms/myapi/protocol/openid-connect/token"
7474
}
7575
}
76-
```
76+
```
77+
78+
## Attribution
79+
80+
Icon by [Freepik](https://www.freepik.com/icon/key_908229)

icon.png

491 Bytes
Loading

logo.png

3.8 KB
Loading

0 commit comments

Comments
 (0)