You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
memos/plugin
Johnny 1a9bd32cf1 feat(auth): add PKCE support and enhance OAuth security
Implements critical OAuth 2.0 security improvements to protect against authorization code interception attacks and improve provider compatibility:

- Add PKCE (RFC 7636) support with SHA-256 code challenge/verifier
- Fix access token extraction to use standard field instead of Extra()
- Add OAuth error parameter handling (access_denied, invalid_scope, etc.)
- Maintain backward compatibility for non-PKCE flows

This brings the OAuth implementation up to modern security standards as recommended by Auth0, Okta, and the OAuth 2.0 Security Best Current Practice (RFC 8252).

Backend changes:
- Add code_verifier parameter to ExchangeToken with PKCE support
- Use token.AccessToken for better provider compatibility
- Update proto definition with optional code_verifier field

Frontend changes:
- Generate cryptographically secure PKCE parameters
- Include code_challenge in authorization requests
- Handle and display OAuth provider errors gracefully
- Pass code_verifier during token exchange

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2 months ago
..
cron refactor: use WaitGroup.Go to simplify code (#5162) 3 months ago
filter fix(postgres): update tag filtering SQL to ensure proper type casting for LIKE comparisons 2 months ago
httpgetter refactor: attachment service part2 7 months ago
idp feat(auth): add PKCE support and enhance OAuth security 2 months ago
markdown fix(markdown): fix UTF-8 truncation for CJK characters in snippet generation 2 months ago
storage/s3 feat: generate thumbnails for images stored in S3 and generate thumbnails with a maximum size (#5179) 3 months ago
webhook chore: fix linter 7 months ago