in src/Services/User/User.Infrastructure/Identity/IdentityService.cs [239:265]
public async Task<(Result Result, Token Tokens)> PostRegisterLoginAsync(string userName,
string password,
CancellationToken cancellationToken)
{
logger.LogInformation("Starting login in {userName}", userName);
DiscoveryDocumentResponse discoveryDocument = await httpClient.GetDiscoveryDocumentAsync(
clientIdentity.Authority,
cancellationToken);
TokenResponse tokenResponse =
await RequestTokenAsync(userName, password, discoveryDocument.TokenEndpoint, cancellationToken);
if (tokenResponse.IsError)
{
Result result = Result.Failure(new InnerError(ErrorTarget.Token, tokenResponse.Error));
logger.LogInformation("Error on login in {userName}. Errors: {@message}", userName, result.Errors);
return (result, (Token)null);
}
logger.LogInformation("Successfully login in {userName}", userName);
return (Result.Success(),
new Token(tokenResponse.AccessToken, tokenResponse.RefreshToken, tokenResponse.ExpiresIn));
}