| IDeviceAuthorizationStorage | Defines the contract for a storage system responsible for persisting and retrieving device authorization requests as defined in RFC 8628. |
| IDeviceCodeGenerator | Defines the contract for generating device codes used in the Device Authorization Grant (RFC 8628). |
| IUserCodeGenerator | Defines the contract for generating user codes used in the Device Authorization Grant (RFC 8628). |
| IUserCodeNormalizer | Canonicalizes a user-entered user code before it is matched against a stored code in the Device Authorization Grant (RFC 8628). RFC 8628 Section 6.1 recommends that the server strip readability punctuation the user may have copied (dashes, spaces), case-fold input for single-case character sets, and drop any characters outside the configured alphabet, so that equivalent user input is not rejected as invalid. |
| IUserCodeRateLimiter | Defines the contract for rate limiting user code verification attempts to prevent brute force attacks. Per RFC 8628 Section 5.2, implementations SHOULD implement rate limiting to prevent abuse. |
| IUserCodeVerificationService | Defines the contract for a service that handles user code verification in the Device Authorization Grant flow (RFC 8628). |