docs(07-02): complete cookie import & persistence plan
This commit is contained in:
@@ -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*
|
||||
Reference in New Issue
Block a user