Blazor jwt에서 클라이언트까지

blazor jwt token

문제

로컬 저장소에 이미 토큰이 있고 컨트롤러 또는 메서드가있는 웹 API로 보낼 준비가되었습니다.이 특성을 Blazor 클라이언트에 허가합니다. 어떻게 토큰을 보내나요?

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

그리고 어떻게 api에서 토큰을 사용합니까? 자동으로 발생합니까, 아니면 할 일이 있습니까?

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

인기 답변

Mate, 각 요청에 대한 요청 헤더의 무기명 토큰을 확인하기 위해 서버에 코드가 필요합니다.

이 시도:

[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();
    }


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.