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;
}
}
}