系统 授权服务 配置

master
xiaochanghai 1 year ago
parent 28ca041205
commit 08b16880a5
  1. 22
      Tiobon.Core.Extensions/ServiceExtensions/AuthorizationSetup.cs

@ -1,18 +1,15 @@
using Tiobon.Core.AuthHelper; using System.Security.Claims;
using Tiobon.Core.Common; using System.Text;
using Tiobon.Core.Common.AppConfig;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using System; using Tiobon.Core.AuthHelper;
using System.Collections.Generic; using Tiobon.Core.Common;
using System.Security.Claims; using Tiobon.Core.Common.AppConfig;
using System.Text;
using System.Security; namespace Tiobon.Core.Extensions;
namespace Tiobon.Core.Extensions
{
/// <summary> /// <summary>
/// 系统 授权服务 配置 /// 系统 授权服务 配置
/// </summary> /// </summary>
@ -49,7 +46,7 @@ namespace Tiobon.Core.Extensions
var Issuer = AppSettings.app(new string[] { "Audience", "Issuer" }); var Issuer = AppSettings.app(new string[] { "Audience", "Issuer" });
var Audience = AppSettings.app(new string[] { "Audience", "Audience" }); var Audience = AppSettings.app(new string[] { "Audience", "Audience" });
var ExpirationHourString = AppSettings.app(new string[] { "Audience", "ExpirationHour" }); var ExpirationHourString = AppSettings.app(new string[] { "Audience", "ExpirationHour" });
var ExpirationHour = string.IsNullOrWhiteSpace(ExpirationHourString) ? 4 : Convert.ToInt32(ExpirationHourString); var ExpirationHour = string.IsNullOrWhiteSpace(ExpirationHourString) ? 4 : Convert.ToInt32(ExpirationHourString) + 1;
var signingCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256); var signingCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256);
// 如果要数据库动态绑定,这里先留个空,后边处理器里动态赋值 // 如果要数据库动态绑定,这里先留个空,后边处理器里动态赋值
@ -63,7 +60,7 @@ namespace Tiobon.Core.Extensions
Issuer,//发行人 Issuer,//发行人
Audience,//听众 Audience,//听众
signingCredentials,//签名凭据 signingCredentials,//签名凭据
expiration: TimeSpan.FromSeconds(240 * 60 * ExpirationHour)//接口的过期时间 expiration: TimeSpan.FromSeconds(60 * 60 * ExpirationHour)//接口的过期时间
); );
#endregion #endregion
// 3、自定义复杂的策略授权 // 3、自定义复杂的策略授权
@ -96,4 +93,3 @@ namespace Tiobon.Core.Extensions
services.AddSingleton(permissionRequirement); services.AddSingleton(permissionRequirement);
} }
} }
}

Loading…
Cancel
Save