在 C#后端生成 token 进行登录验证通常涉及以下步骤:
1. **验证用户名和密码**:这通常会涉及到检索数据库中的记录,并验证提交的密码是否与
存储的密码哈希匹配。
2. **生成 JWT Token**:一旦用户凭证验证成功,就使用用户的详细信息生成 JWT Token。
3. **发送 Token 给客户端**:将生成的 Token 发送给客户端,客户端将在后续请求的
Authorization Header 中使用它进行身份验证。
下面是一个简化的示例,展示了这个过程:
### 安装所需的包
首先,确保已安装以下 NuGet 包:
- Microsoft.AspNetCore.Authentication.JwtBearer
- System.IdentityModel.Tokens.Jwt
### 配置服务
在 `Startup.cs` 中配置 JWT 服务:
```csharp
public void ConfigureServices(IServiceCollection services)
{
// 其他服务配置 ...
// JWT 认证配置
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:Key"]));
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = key,
ValidateIssuer = false,