认证是判断令牌信息是否正确,授权是指令牌是否具有解决的角色权限,比如:在一个公司中,每个公司的员工都能进入公司楼层,但是并不是每个员工都具有独立的办公室。
jwt由三部分组成:
- header 头部:由两部分组成(类型与加密算法)
- playload:有效载荷,存放一些用户信息,如工号id、有效期、颁发者、接受者等等
- signature:使用第一分部与第二部分通过加密密钥加密组成
下面我将使用.net简单演示如何实现
一、添加jwt认证授权
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer("Bearer", o =>
{
o.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,//是否验证签名,不验证的画可以篡改数据,不安全
IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("abc324effdsfre34reefds="