1
resposta

chave expires não existe

essa linha de codigo gera o seguinte aviso no vscode:

        var token = new JwtSecurityToken(expires: DateTime.Now.AddMinutes(10), claims, signingCredentials: signingCredentials);

A melhor sobrecarga de "JwtSecurityToken" não tem um parâmetro chamado "expires"CS1739

mas estou usando a msm versão do video para as libs, como corrigir isso?

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameWorkCore" Version="6.0.14" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.14">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.tools" Version="6.0.14">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="6.0.14" />
    <PackageReference Include="MySql.EntityFrameworkCore" Version="8.0.0" />
    <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.2" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.0.27" />
  </ItemGroup>

</Project>
1 resposta

Olá, Kaique! Como vai?

Se a classe JwtSecurityToken não possui um parâmetro chamado "expires" no construtor, tenta definir a data de expiração do token é através da propriedade ValidTo, mas ela não é definida no construtor e sim após a criação do objeto JwtSecurityToken.

Aqui está um exemplo de como você pode fazer isso:

var token = new JwtSecurityToken(claims: claims, signingCredentials: signingCredentials);
token.ValidTo = DateTime.Now.AddMinutes(10);

Neste exemplo, primeiro criamos o token com as claims e as signingCredentials. Em seguida, definimos a propriedade ValidTo para a data e hora atuais mais 10 minutos.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software