using Microsoft.AspNetCore.Authorization; using Microsoft.IdentityModel.Tokens; using System; using System.Collections.Generic; using System.Text; namespace SignToken { /// /// 必要参数类 /// public class PermissionRequirement : IAuthorizationRequirement { /// /// 无权限action /// public string DeniedAction { get; set; } /// /// 认证授权类型 /// public string ClaimType { internal get; set; } /// /// 请求路径 /// public string LoginPath { get; set; } = "/Api/Login"; /// /// 发行人 /// public string Issuer { get; set; } /// /// 订阅人 /// public string Audience { get; set; } /// /// 过期时间 /// public TimeSpan Expiration { get; set; } /// /// 签名验证 /// public SigningCredentials SigningCredentials { get; set; } /// /// 构造 /// /// 拒约请求的url /// 声明类型 /// 发行人 /// 订阅人 /// 签名验证实体 public PermissionRequirement(string deniedAction, string claimType, string issuer, string audience, SigningCredentials signingCredentials, TimeSpan expiration) { ClaimType = claimType; DeniedAction = deniedAction; Issuer = issuer; Audience = audience; Expiration = expiration; SigningCredentials = signingCredentials; } } }