fresh
fresh copied to clipboard
[fresh_graphql] wrong auth status
At the first time I do setToken(), status always turns to "unauthorized". After refresh it becomes authorized.
code:
final freshLink = FreshLink.oAuth2(
tokenStorage: InMemoryTokenStorage(),
refreshToken: (token, client) async {
// Perform refresh and return new token
log.d('refreshing token!');
return OAuth2Token(accessToken: accessToken, tokenType: 'Bearer'); // TODO refresh with RefreshToken
},
shouldRefresh: (response) => true, // TODO implement
)..authenticationStatus.listen(log.d);
await freshLink.setToken(OAuth2Token(accessToken: accessToken, tokenType: 'Bearer'));
I debugged it and cannot find an issue, but the problem is definitely in setToken().
I await it and suddenly execution goes to void _updateStatus where token is null !
That's extremely strange, but if I subscribe to status AFTER setToken(), it works just fine:
Result:
Maybe the problem's because of this line
When I create a FreshLink, the setter runned, and it suddenly turns status to "unauthenticated". Just guessing...
This has been fixed in #96