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>
14 lines
526 B
C#
14 lines
526 B
C#
namespace Svrnty.CQRS.Altcha.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Mints an Altcha challenge for the widget to solve. The default
|
|
/// implementation in <c>Svrnty.CQRS.Altcha.Grpc</c> talks to a self-hosted
|
|
/// altcha service; the <c>Svrnty.CQRS.Altcha.MinimalApi</c> package exposes
|
|
/// <c>GET /api/altcha/challenge</c> that returns this DTO as the JSON
|
|
/// shape the widget expects.
|
|
/// </summary>
|
|
public interface IAltchaChallengeProvider
|
|
{
|
|
Task<AltchaChallenge> CreateAsync(CancellationToken cancellationToken = default);
|
|
}
|