在 C#后端,尤其是使用 ASP.NET Core 时,生成 JWT (JSON Web Tokens) 用于验证用户登录通
常涉及以下几个步骤:
1. 安装必要的 NuGet 包:
你需要安装 `Microsoft.AspNetCore.Authentication.JwtBearer` 包(如果还没安装的话)。
2. 配置 JWT 的设置:
在 `appsettings.json` 中配置 JWT 的密钥和其他相关设置。
```json
"Jwt": {
"Key": "your_secret_key_for_jwt",
"Issuer": "your_issuer",
"Audience": "your_audience",
"DurationInMinutes": 30
}
```
3. 在 `Startup.cs` 的 `ConfigureServices` 方法中配置认证服务:
```csharp
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes(Configuration["Jwt:Key"])),
ValidateIssuer = true,
ValidateAudience = true,
ValidIssuer = Configuration["Jwt:Issuer"],
ValidAudience = Configuration["Jwt:Audience"],
ClockSkew = TimeSpan.Zero