Blazor jwt de client à serveur

blazor jwt token

Question

J'ai déjà le jeton dans la mémoire de stockage locale et prêt à être envoyé à l'API Web où le contrôleur ou la méthode a en Autoriser l'attribut au client Blazor.

        var token = Storage["token"];
     await http.GetJsonAsync<string[]>("/api/authorizedController");

Et comment puis-je recevoir le jeton sur l'API? Cela se produit-il automatiquement ou dois-je faire quelque chose?

    [Authorize]
[Route("api/[controller]")]

Réponse populaire

Mate, vous avez également besoin d'un code sur le serveur pour valider le jeton du porteur dans l'en-tête de votre demande à chaque demande.

Essaye ça:

[Route("api/[controller]")]
[Authorize]
public class AutorizedController: Controller

  public void ConfigureServices(IServiceCollection services)
    {
       services.AddIdentityCore<IdentityUser>()
  .AddEntityFrameworkStores<StoreContext>();

    services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
  .AddJwtBearer(cfg =>
  {
    cfg.TokenValidationParameters = new TokenValidationParameters()
    {
      ValidateIssuer = true,
      ValidIssuer = _config["Security:Tokens:Issuer"],
      ValidateAudience = true,
      ValidAudience = _config["Security:Tokens:Audience"],
      ValidateIssuerSigningKey = true,
      IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Security:Tokens:Key"])),

    };
  });

      services.AddDbContext<StoreContext>();
      services.AddMvc();
    }



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi