**Enhancements to Redis Integration and Testing**
- **RedisService.cs**:
- Implemented a Redis service for storing and retrieving authentication tokens.
- Added methods for saving, retrieving, and removing tokens using Redis.
- Introduced a constructor for dependency injection to facilitate testing.
- **RedisFixture.cs**:
- Created a test fixture to ensure a Redis instance is available for integration tests.
- Implemented a check to verify if Redis is running before executing tests.
- **ProgramRedisIntegrationTests.cs**:
- Added integration tests to validate the login process and token storage in Redis.
- Implemented tests to check the reuse of stored tokens and the correct handling of authentication.
- **RedisIntegrationTests.cs**:
- Developed integration tests for saving, retrieving, and deleting authentication tokens in Redis.
- Ensured that all tokens are correctly stored and can be retrieved as expected.
- **RedisServiceTests.cs**:
- Created unit tests using an in-memory implementation of the Redis service for isolated testing.
- Validated the functionality of saving, retrieving, and removing tokens without a real Redis connection.
### Notes
- All tests are designed to ensure the reliability of the Redis integration and the overall functionality of the VRCAuthProxy service.
- Integration tests are marked to skip execution unless a Redis instance is available.
- **docker-compose.yml**
- Added Redis service configuration to support token storage.
- Set up health checks and volume for Redis persistence.
- Configured VRCAuthProxy service to depend on Redis.
- **HttpClientCookieContainer.cs**
- Added `Username` property to support user-specific token management.
- **Program.cs**
- Integrated Redis for storing and retrieving authentication tokens.
- Updated login and token rotation logic to utilize Redis.
- Improved async/await usage for better reliability.
- **VRCAuthProxy.csproj**
- Added `StackExchange.Redis` package for Redis connectivity.
- Corrected `Otp.NET` package reference.
- **API.cs**
- Updated `TotpVerifyResponse` and `User` classes to be nullable-aware.
- **RedisService.cs**
- Implemented Redis service for managing authentication tokens.
- Added methods for saving, retrieving, and deleting tokens.