Material está excelente, só 2 detalhes que vi no final, creio q estejam errado
Na atividade opcional no final do curso ASP.NET Core parte 4, de criar uma opção de registrar novos usuários, num bloco tem o seguinte código:
var claimsResult = _userManager.AddClaimsAsync(user, new Claim[]{
new Claim("name", user.UserName),
new Claim(JwtClaimTypes.GivenName, ""),
new Claim(JwtClaimTypes.FamilyName, ""),
new Claim("email", user.Email),
new Claim(JwtClaimTypes.EmailVerified, "true", ClaimValueTypes.Boolean),
}).Result;
if (!claimsResult.Succeeded)
{
throw new Exception(result.Errors.First().Description);
}
Eu acredito que deveria tirar o Resulta e colocar await (pois o método é assíncrono) E no throw Exception, ele está referenciando ao result (que está um nível acima, sendo que o teste de erro, foi na variável claimsResult
Na minha sugestão, o código ficaria assim:
var claimsResult = await _userManager.AddClaimsAsync(user, new Claim[]
{
new Claim("name", user.UserName),
new Claim(JwtClaimTypes.GivenName, ""),
new Claim(JwtClaimTypes.FamilyName, ""),
new Claim("email", user.Email),
new Claim(JwtClaimTypes.EmailVerified, "true", ClaimValueTypes.Boolean)
});
if (!claimsResult.Succeeded)
{
throw new Exception(claimsResult.Errors.First().Description);
}