Abstractions for the Altcha-based proof-of-work module: - AltchaAttribute (AllowMobileAttestationBypass param) - IHasAltchaSolution — marker interface for request POCOs carrying the widget's solution payload over HTTP/gRPC transports - IAltchaVerifier / IAltchaChallengeProvider — transport-agnostic interfaces; default gRPC implementations ship in Svrnty.CQRS.Altcha.Grpc - IMobileAttestationProvider — Phase 3 placeholder; concrete impls stamp ctx.Items["mobile_attested"] for the Altcha check to read as a bypass when AllowMobileAttestationBypass is true - AltchaChallenge / AltchaVerifyResult DTOs Lean dependencies — only references Svrnty.CQRS.Abstractions for the auth-check pipeline types. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17 lines
616 B
C#
17 lines
616 B
C#
namespace Svrnty.CQRS.Altcha.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Implemented by command and query POCOs that carry an Altcha widget
|
|
/// solution. The framework's Altcha check reads <see cref="AltchaSolution"/>
|
|
/// off the materialized request, so the value travels naturally over HTTP
|
|
/// (JSON body field) and gRPC (proto field) without any extra plumbing.
|
|
/// </summary>
|
|
public interface IHasAltchaSolution
|
|
{
|
|
/// <summary>
|
|
/// Base64-encoded JSON payload produced by the Altcha widget. Null /
|
|
/// empty causes the check to reject the request.
|
|
/// </summary>
|
|
string? AltchaSolution { get; set; }
|
|
}
|