Hi π Just a quick one...
I'm trying to get an anonymous token to pass back to the user from within an API. I am setting everything up as expected in the readme and realised that I can actually resolve the collection of TokenProviders directly in order to get an anonymous token.
My source code...
public AnonymousTokenProvider(IEnumerable<ITokenProvider> tokenProviders)
{
_tokenProvider = tokenProviders.First(tp => tp.TokenFlow == TokenFlow.AnonymousSession);
}
public Task<Token> GetToken()
{
var token = _tokenProvider.Token;
return Task.FromResult(token);
}
I have an integration test that invokes this class which works fine when it runs on its own but fails when it runs with other tests in parallel. I think we're hitting an async/await deadlocking issue here because _tokenProvider.Token is invoking an async call and calling .Result on the task.
I'm fairly certain this is the cause of my issue because when I inline the code from this repo but make it async all the way it solves my locking issue.
Is there a reason why this can't be replaced with an async method call instead? Would anyone mind if I submit a PR to fix this?
Thanks! π