refactor(CryptographerExtensions): Aktualisiert zur Verwendung von IUniqueSecurityContext anstelle von IRSACryptographer.
- umbenannt in SecurityExtensions.
This commit is contained in:
parent
50c42e9cdd
commit
5a1808c6a6
@ -1,21 +0,0 @@
|
|||||||
namespace DigitalData.Core.Abstractions.Security
|
|
||||||
{
|
|
||||||
public static class CryptographerExtensions
|
|
||||||
{
|
|
||||||
public static IEnumerable<TRSACryptographer> GetByIssuer<TRSACryptographer>(this IEnumerable<TRSACryptographer> cryptographers, string issuer) where TRSACryptographer: IRSACryptographer
|
|
||||||
=> cryptographers.Where(c => c.Issuer == issuer);
|
|
||||||
|
|
||||||
public static IEnumerable<TRSACryptographer> GetByAudience<TRSACryptographer>(this IEnumerable<TRSACryptographer> cryptographers, string audience) where TRSACryptographer : IRSACryptographer
|
|
||||||
=> cryptographers.Where(c => c.Audience == audience);
|
|
||||||
|
|
||||||
public static TRSACryptographer Get<TRSACryptographer>(this IEnumerable<TRSACryptographer> cryptographers, string issuer, string audience) where TRSACryptographer : IRSACryptographer
|
|
||||||
=> cryptographers.Where(c => c.Issuer == issuer && c.Audience == audience).SingleOrDefault()
|
|
||||||
?? throw new InvalidOperationException($"No {typeof(TRSACryptographer).GetType().Name.TrimStart('I')} found with Issuer: {issuer} and Audience: {audience}.");
|
|
||||||
|
|
||||||
public static bool TryGet<TRSACryptographer>(this IEnumerable<TRSACryptographer> cryptographers, string issuer, string audience, out TRSACryptographer? cryptographer) where TRSACryptographer : IRSACryptographer
|
|
||||||
{
|
|
||||||
cryptographer = cryptographers.SingleOrDefault(c => c.Issuer == issuer && c.Audience == audience);
|
|
||||||
return cryptographer is not null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
21
DigitalData.Core.Abstractions/Security/SecurityExtensions.cs
Normal file
21
DigitalData.Core.Abstractions/Security/SecurityExtensions.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
namespace DigitalData.Core.Abstractions.Security
|
||||||
|
{
|
||||||
|
public static class SecurityExtensions
|
||||||
|
{
|
||||||
|
public static IEnumerable<TUniqueSecurityContext> GetByIssuer<TUniqueSecurityContext>(this IEnumerable<TUniqueSecurityContext> contextes, string issuer) where TUniqueSecurityContext: IUniqueSecurityContext
|
||||||
|
=> contextes.Where(c => c.Issuer == issuer);
|
||||||
|
|
||||||
|
public static IEnumerable<TUniqueSecurityContext> GetByAudience<TUniqueSecurityContext>(this IEnumerable<TUniqueSecurityContext> contextes, string audience) where TUniqueSecurityContext : IUniqueSecurityContext
|
||||||
|
=> contextes.Where(c => c.Audience == audience);
|
||||||
|
|
||||||
|
public static TUniqueSecurityContext Get<TUniqueSecurityContext>(this IEnumerable<TUniqueSecurityContext> contextes, string issuer, string audience) where TUniqueSecurityContext : IUniqueSecurityContext
|
||||||
|
=> contextes.Where(c => c.Issuer == issuer && c.Audience == audience).SingleOrDefault()
|
||||||
|
?? throw new InvalidOperationException($"Exactly one {typeof(TUniqueSecurityContext).Name} must exist with Issuer: '{issuer}' and Audience: '{audience}'.");
|
||||||
|
|
||||||
|
public static bool TryGet<TUniqueSecurityContext>(this IEnumerable<TUniqueSecurityContext> contextes, string issuer, string audience, out TUniqueSecurityContext? context) where TUniqueSecurityContext : IUniqueSecurityContext
|
||||||
|
{
|
||||||
|
context = contextes.SingleOrDefault(c => c.Issuer == issuer && c.Audience == audience);
|
||||||
|
return context is not null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user