dotnet add package ExtTokenManager
using ExtTokenManager;
// ...
services.UseExtTokenManager();
var tokentAccessor = serviceProvider.GetRequiredService<ITokenAccessor>();
tokenAccessor.AddTokenFor<ITestService>(
// get token function
() =>
{
// get token first time logic...
new TokenWithRefresh(token, refreshToken);
},
// refresh token function
refreshToken =>
{
// refresh token logic using refreshToken input
return new TokenWithRefresh(newToken, newRefreshToken);
},
// lifespan of token
TimeSpan.FromMinutes(60));
You don't need to worry about the mechanism of its acquisition.
private readonly ITokenProvider<ITestService> _tokenProvider;
public TestService(ITokenProvider<ITestService> tokenProvider)
{
_tokenProvider = tokenProvider;
}
var token = _tokenProvider.GetToken();
var token = _tokenProvider.RefreshNowAndGetToken();
See full Demo
If you have any questions, comments, or suggestions, please open an issue or create a pull request 🙂
This project is licensed under the terms of the MIT license.