Skip to content

Latest commit

 

History

History
76 lines (55 loc) · 2.03 KB

README.md

File metadata and controls

76 lines (55 loc) · 2.03 KB

NuGet

Build publish to nuget

A simple method to store, retrieve, and refresh tokens for external services.

dotnet add package ExtTokenManager

Usage

Startup

using ExtTokenManager;

// ...

services.UseExtTokenManager();

Initialize

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));

Use in service and get token.

You don't need to worry about the mechanism of its acquisition.

Get ITokenProvider via DI.

private readonly ITokenProvider<ITestService> _tokenProvider;

public TestService(ITokenProvider<ITestService> tokenProvider)
{
    _tokenProvider = tokenProvider;
}

Get the token!

var token = _tokenProvider.GetToken();

Sometimes you want to force refresh

var token = _tokenProvider.RefreshNowAndGetToken();

See full Demo

Contribution

If you have any questions, comments, or suggestions, please open an issue or create a pull request 🙂

License

This project is licensed under the terms of the MIT license.