簡體   English   中英

ASP.NET Core Web API - How to secure Web Service using JWT

[英]ASP.NET Core Web API - How to secure Web Service using JWT

我只使用了 JWT 進行用戶登錄認證。 但我有這個不同的任務。

我正在使用 ASP.NET Core-6 Web API 來實施 ZC6E190B2846333C48E39E55CE 客戶將能夠打印發票的 ZC6E190B2846333C3C84 服務。

[HttpGet]
public async Task<IActionResult> GetInvoice()
{
    List<Invoice> Items = await _context.Invoice.ToListAsync();
    int Count = Items.Count();
    return Ok(new { Items, Count });
}

它是這樣給客戶的:

https://invoicewebservice.com/api/myinvoice

作為 web 服務。 Web 服務將提供給客戶。

我想保護使用JWT的客戶提供的 Web 服務,這樣任何人都不能只查看它。 但是不會有用戶名和密碼(這個我很熟悉)。

我如何實現這一目標?

謝謝

我已經為登錄完成了 JWT。 但這一次沒有登錄和用戶注冊。 我只是想用它來保護url,這樣任何人都不能隨便使用它,而只有擁有JWT的當事人才能使用。

根據您的描述,您已經在 Web API 中實現了 JWT 身份驗證。
要使 GetInvoice 方法僅由具有有效 JWT 的請求訪問,您可以在 GetInvoice 方法或其 API Z594C103F2C6E04C3D8AB059F031E0C1 上添加[Authorize]屬性。 這意味着如果令牌丟失或出現故障,則不會啟動 web api 方法。 而對於正確的令牌,Web API 將被授權給該請求。

像這樣的代碼:

[HttpGet]
[Authorize]
public async Task<IActionResult> GetInvoice()
{
    List<Invoice> Items = await _context.Invoice.ToListAsync();
    int Count = Items.Count();
    return Ok(new { Items, Count });
}

Refer to Implement JWT In .NET Core API and How to Implement JWT Authentication in Web API Using.Net 6.0, Asp.Net Core

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM