docs(07-02): complete cookie import & persistence plan

This commit is contained in:
2026-03-17 17:53:38 +08:00
parent 00245c58cc
commit 771ca554b3
3 changed files with 136 additions and 23 deletions
@@ -0,0 +1,107 @@
---
phase: 07-login-auth
plan: 02
subsystem: auth
tags: [cookie, persistence, json, zhihu]
# Dependency graph
requires:
- phase: none
provides: none
provides:
- Cookie JSON parsing from Chrome Cookie Editor format
- Cookie persistence to ~/.kb_env file
- Cookie loading from ~/.kb_env file
affects: [zhihu-login, pipeline-auth]
# Tech tracking
tech-stack:
added: []
patterns: [tdd, file-permissions-600, cache-invalidation]
key-files:
created:
- kb_workflow/auth/cookie_manager.py
- tests/test_auth/test_cookie_import.py
- tests/test_auth/test_cookie_persistence.py
modified: []
key-decisions:
- "File permissions set to 600 for security when saving cookies"
- "Cache invalidation of get_settings after cookie save to ensure fresh config"
patterns-established:
- "TDD workflow: RED test commit -> GREEN implementation commit"
- "Cookie format: ZHIHU_COOKIE=\"name1=value1; name2=value2\""
requirements-completed: [AUTH-02, AUTH-03]
# Metrics
duration: 10min
completed: 2026-03-17
---
# Phase 07 Plan 02: Cookie Import and Persistence Summary
**Cookie management module with JSON parsing for Chrome Cookie Editor format and persistent storage to ~/.kb_env**
## Performance
- **Duration:** 10 min
- **Started:** 2026-03-17T09:47:22Z
- **Completed:** 2026-03-17T09:57:30Z
- **Tasks:** 2
- **Files modified:** 4
## Accomplishments
- parse_json_cookies function supporting Chrome Cookie Editor JSON format
- CookieManager class with save/load functionality for ~/.kb_env
- Automatic domain filtering for zhihu.com cookies
- Secure file permissions (600) for cookie storage
- Cache invalidation for get_settings after save
## Task Commits
Each task was committed atomically following TDD:
1. **Task 1: Cookie JSON 解析功能** - 2 commits (TDD)
- `af3536a` (test) - Failing tests for parse_json_cookies
- `2360fcc` (feat) - Implementation of parse_json_cookies
2. **Task 2: Cookie 持久化管理器** - 2 commits (TDD)
- `19c377e` (test) - Failing tests for CookieManager
- `00245c5` (feat) - Implementation of CookieManager class
_Note: TDD tasks have separate test and implementation commits_
## Files Created/Modified
- `kb_workflow/auth/__init__.py` - Auth module initialization
- `kb_workflow/auth/cookie_manager.py` - Cookie parsing and persistence (120 lines)
- `tests/test_auth/__init__.py` - Test module initialization
- `tests/test_auth/test_cookie_import.py` - 6 tests for JSON parsing
- `tests/test_auth/test_cookie_persistence.py` - 8 tests for persistence
## Decisions Made
- File permissions set to 600 for security when saving cookies to ~/.kb_env
- Cache invalidation of get_settings.cache_clear() after saving to ensure fresh config on next read
- Only zhihu.com domain cookies are extracted from JSON (domain filtering)
## Deviations from Plan
None - plan executed exactly as written.
## Issues Encountered
None.
## User Setup Required
None - no external service configuration required.
## Next Phase Readiness
- Cookie import and persistence ready for use by ZhihuLogin
- Can now import cookies from Chrome Cookie Editor JSON export
- Can persist cookies for automatic loading on next run
---
*Phase: 07-login-auth*
*Completed: 2026-03-17*