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