ow
This commit is contained in:
commit
f05d2d215f
678 files changed
+73865
No files matched your search
@@ -0,0 +1,19 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class BiometricLoginChallengeDto
|
||||
{
|
||||
/// <summary>AssertionOptions JSON to feed to navigator.credentials.get().</summary>
|
||||
public string RequestOptionsJson { get; set; } = null!;
|
||||
|
||||
/// <summary>Opaque id identifying this challenge — we round-trip the requestOptionsJson instead, so this is informational and currently unused.</summary>
|
||||
public string ChallengeId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class BiometricRegistrationResultDto
|
||||
{
|
||||
public string CredentialIdBase64Url { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class FinishBiometricLoginData
|
||||
{
|
||||
public string Username { get; set; } = null!;
|
||||
public string AssertionJson { get; set; } = null!;
|
||||
public string RequestOptionsJson { get; set; } = null!;
|
||||
|
||||
/// <summary>Opaque id; informational only. We round-trip the requestOptionsJson.</summary>
|
||||
public string ChallengeId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class FinishBiometricRegistrationData
|
||||
{
|
||||
/// <summary>JSON the browser returns from navigator.credentials.create().</summary>
|
||||
public string AttestationJson { get; set; } = null!;
|
||||
|
||||
/// <summary>The CredentialCreateOptions JSON we returned from BeginBiometricRegistration. Round-tripped because Fido2NetLib verifies the challenge against it.</summary>
|
||||
public string CreationOptionsJson { get; set; } = null!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class LocaleData
|
||||
{
|
||||
public LocaleDisplayData[]? Inserts { get; set; }
|
||||
|
||||
public LocaleDisplayData[]? Updates { get; set; }
|
||||
|
||||
public LocaleDisplayData[]? Deletes { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[NotMapped]
|
||||
public class LocaleDisplayData : LocaleEntity
|
||||
{
|
||||
public LocaleDisplayData()
|
||||
{
|
||||
}
|
||||
public LocaleDisplayData(LocaleEntity entity)
|
||||
{
|
||||
OrgGroupName=entity.GroupName;
|
||||
OrgLang = entity.Lang;
|
||||
OrgName = entity.Name;
|
||||
CopyFrom(entity);
|
||||
}
|
||||
|
||||
public string? OrgGroupName { get; set; }
|
||||
public string? OrgLang { get; set; }
|
||||
public string? OrgName { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
public class LocaleResultData : SearchCriteriaResultData
|
||||
{
|
||||
public LocaleDisplayData[]? Datas { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class LoginData
|
||||
{
|
||||
public string? UserName { get; set; }
|
||||
|
||||
public string? AgentUserName { get; set; }
|
||||
|
||||
public string? UserMobile { get; set; }
|
||||
|
||||
public string? UserPassword { get; set; }
|
||||
|
||||
public string? RsaUserPassword { get; set; }
|
||||
|
||||
public string? Guid { get; set; }
|
||||
|
||||
public string? Culture { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class LoginProfile
|
||||
{
|
||||
public JwtInfo Token { get; set; } = null!;
|
||||
public string UserType { get; set; } = null!;
|
||||
public string Username { get; set; } = null!;
|
||||
public string? UserLocalName { get; set; }
|
||||
public string? UserEngName { get; set; }
|
||||
public string UserMobile { get; set; } = null!;
|
||||
|
||||
public SecurityUserPermissionInfo PermissionInfo { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class RegisterData
|
||||
{
|
||||
public string? UserName { get; set; }
|
||||
|
||||
public string? UserMobile { get; set; }
|
||||
|
||||
public string? UserPassword { get; set; }
|
||||
|
||||
public string? ConfirmUserPassword { get; set; }
|
||||
|
||||
public string? RsaUserPassword { get; set; }
|
||||
|
||||
public string? Agree { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Data;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityActorData
|
||||
{
|
||||
public SecurityActorEntity? SecurityActor { get; set; }
|
||||
public SecurityActorGroupViewEntity[]? SecurityActorGroups { get; set; }
|
||||
public SecurityUserActorViewEntity[]? SecurityUserActors { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityActorResultData : SearchCriteriaResultData
|
||||
{
|
||||
public SecurityActorEntity[]? Datas { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityFunctionData
|
||||
{
|
||||
public SecurityFunctionDisplayData? SecurityFunction { get; set; }
|
||||
public SecurityFunctionMapViewEntity[]? SecurityFunctionMapParents { get; set; }
|
||||
public SecurityFunctionMapViewEntity[]? SecurityFunctionMapSons { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text.Json.Serialization;
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// 排除实体类标记
|
||||
/// </summary>
|
||||
[NotMapped]
|
||||
[TypeScript]
|
||||
public class SecurityFunctionDisplayData : SecurityFunctionEntity
|
||||
{
|
||||
public const string PERMISSION_NAME = "PermissionName";
|
||||
|
||||
public SecurityFunctionDisplayData()
|
||||
{
|
||||
}
|
||||
public SecurityFunctionDisplayData(SecurityFunctionEntity entity)
|
||||
{
|
||||
CopyFrom(entity);
|
||||
}
|
||||
|
||||
public string? FunctionNameParent { get; set; }
|
||||
|
||||
public int Orderby { get; set; }
|
||||
|
||||
public string? PermissionName { get; set; }
|
||||
|
||||
public List<string>? SonSecurityFunctions { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityFunctionResultData : SearchCriteriaResultData
|
||||
{
|
||||
|
||||
public const string BOOTUP = "BOOTUP";
|
||||
|
||||
public SecurityFunctionDisplayData[] SecurityFunctionDisplayDatas { get; set; } = null!;
|
||||
|
||||
public SecurityFunctionMapEntity[] SecurityFunctionMaps { get; set; } = null!;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityGeneratorNumberData : SearchCriteriaResultData
|
||||
{
|
||||
public SecurityGeneratorNumberEntity[]? datas { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityGeneratorNumberResultData : SearchCriteriaResultData
|
||||
{
|
||||
public SecurityGeneratorNumberEntity[]? Datas { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Data;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityGroupData
|
||||
{
|
||||
public SecurityGroupEntity? SecurityGroup { get; set; }
|
||||
|
||||
public SecurityGroupPermissionViewDisplayData[]? SecurityGroupPermissionViews { get; set; }
|
||||
public SecurityGroupPermissionDependentViewDisplayData[]? SecurityGroupPermissionDependentViews { get; set; }
|
||||
|
||||
public SecurityActorGroupViewEntity[]? SecurityActorGroups { get; set; }
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[NotMapped]
|
||||
[TypeScript]
|
||||
public class SecurityGroupPermissionDependentViewDisplayData : SecurityGroupPermissionDependentViewEntity
|
||||
{
|
||||
public SecurityGroupPermissionDependentViewDisplayData()
|
||||
{
|
||||
|
||||
}
|
||||
public SecurityGroupPermissionDependentViewDisplayData(SecurityGroupPermissionDependentViewEntity entity)
|
||||
{
|
||||
CopyFrom(entity, true);
|
||||
this.IsView = entity.ViewIndc == YesNoPolicy.YES;
|
||||
this.IsCreate = entity.CreateIndc == YesNoPolicy.YES;
|
||||
this.IsAmend = entity.AmendIndc == YesNoPolicy.YES;
|
||||
this.IsDelete = entity.DeleteIndc == YesNoPolicy.YES;
|
||||
}
|
||||
|
||||
public const string IS_VIEW = "IsView";
|
||||
public const string IS_CREATE = "IsCreate";
|
||||
public const string IS_AMEND = "IsAmend";
|
||||
public const string IS_DELETE = "IsDelete";
|
||||
|
||||
public bool IsView { get; set; }
|
||||
public bool IsCreate { get; set; }
|
||||
public bool IsAmend { get; set; }
|
||||
public bool IsDelete { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[NotMapped]
|
||||
[TypeScript]
|
||||
public class SecurityGroupPermissionViewDisplayData : SecurityGroupPermissionViewEntity
|
||||
{
|
||||
public SecurityGroupPermissionViewDisplayData()
|
||||
{
|
||||
}
|
||||
public SecurityGroupPermissionViewDisplayData(SecurityGroupPermissionViewEntity entity)
|
||||
{
|
||||
CopyFrom(entity);
|
||||
this.IsView = entity.ViewIndc == YesNoPolicy.YES;
|
||||
this.IsCreate = entity.CreateIndc == YesNoPolicy.YES;
|
||||
this.IsAmend = entity.AmendIndc == YesNoPolicy.YES;
|
||||
this.IsDelete = entity.DeleteIndc == YesNoPolicy.YES;
|
||||
}
|
||||
|
||||
public const string IS_VIEW = "IsView";
|
||||
public const string IS_CREATE = "IsCreate";
|
||||
public const string IS_AMEND = "IsAmend";
|
||||
public const string IS_DELETE = "IsDelete";
|
||||
|
||||
public bool IsView { get; set; }
|
||||
|
||||
public bool IsCreate { get; set; }
|
||||
|
||||
public bool IsAmend { get; set; }
|
||||
|
||||
public bool IsDelete { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityGroupResultData : SearchCriteriaResultData
|
||||
{
|
||||
public SecurityGroupEntity[]? Datas { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityMasterResultData : SearchCriteriaResultData
|
||||
{
|
||||
public SecurityMasterEntity[]? Datas { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityPermissionData
|
||||
{
|
||||
public SecurityPermissionEntity? SecurityPermission { get; set; }
|
||||
|
||||
public SecurityPermissionDependentEntity[]? SecurityPermissionDependents { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityPermissionResultData : SearchCriteriaResultData
|
||||
{
|
||||
public SecurityPermissionEntity[]? Permissions { get; set; }
|
||||
|
||||
public SecurityPermissionDependentEntity[]? Dependents { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityUserData
|
||||
{
|
||||
public SecurityUserDisplayData? SecurityUser { get; set; }
|
||||
public SecurityUserActorViewEntity[]? SecurityUserActors { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// 排除实体类标记
|
||||
/// </summary>
|
||||
[NotMapped]
|
||||
[TypeScript]
|
||||
public class SecurityUserDisplayData : SecurityUserEntity
|
||||
{
|
||||
|
||||
public SecurityUserDisplayData()
|
||||
{
|
||||
}
|
||||
public SecurityUserDisplayData(SecurityUserEntity entity)
|
||||
{
|
||||
CopyFrom(entity);
|
||||
}
|
||||
|
||||
public string? OrgUserPassword { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityUserPermissionInfo
|
||||
{
|
||||
public string[]? UserGroups { get; set; }
|
||||
public SecurityGroupPermissionViewEntity[]? Permissions { get; set; }
|
||||
public SecurityGroupPermissionDependentViewEntity[]? PermissionDependents { get; set; }
|
||||
|
||||
public SecurityPermissionFunctionMapViewEntity[]? PermissionFunctionMaps { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
[TypeScript]
|
||||
public class SecurityUserResultData : SearchCriteriaResultData
|
||||
{
|
||||
public SecurityUserEntity[]? Datas { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Security.Data
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Plain-old-data wrapper for the credential fields we persist on
|
||||
/// SecurityUser. The frontend never sees this type.
|
||||
/// </summary>
|
||||
public class StoredBiometricCredential
|
||||
{
|
||||
public byte[] CredentialId { get; set; } = Array.Empty<byte>();
|
||||
public byte[] PublicKey { get; set; } = Array.Empty<byte>();
|
||||
}
|
||||
|
||||
public class WebAuthnOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Relying Party ID — the registrable domain suffix of the
|
||||
/// origin's host. For dev: "localhost". For production:
|
||||
/// "eleave.1010printing.com".
|
||||
/// </summary>
|
||||
public string RpId { get; set; } = "localhost";
|
||||
|
||||
/// <summary>
|
||||
/// Human-readable relying-party name. Shown in the OS biometric
|
||||
/// prompt ("Use HR Plus to sign in to localhost").
|
||||
/// </summary>
|
||||
public string RpName { get; set; } = "HR Plus";
|
||||
|
||||
/// <summary>
|
||||
/// The full origin (scheme + host + port) the user is loading
|
||||
/// the page from. Fido2NetLib verifies the attestation/assertion
|
||||
/// origin matches this exactly. Must be HTTPS in production
|
||||
/// (localhost is exempt).
|
||||
/// </summary>
|
||||
public string Origin { get; set; } = "https://localhost:8000";
|
||||
|
||||
/// <summary>
|
||||
/// WebAuthn ceremony timeout in milliseconds. Default 60s.
|
||||
/// </summary>
|
||||
public int TimeoutMs { get; set; } = 60000;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user