-
Notifications
You must be signed in to change notification settings - Fork 134
Support an array of authorized paths #536
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Claude finished @kixelated's task —— View job Code Review Complete 👍After reviewing this PR for bugs and security issues, I found one critical security issue that should be addressed: 🚨 Critical Issue: Panic-based DoS vulnerabilityLocation: let suffix = root
.strip_prefix(&claims.root)
.context("path does not match the root")?;Problem: The code calls Impact: An attacker could craft specific URL paths that cause the relay to panic and crash. Recommendation: Add proper validation before calling ✅ Positive Security Observations:
✅ Code Quality:
Overall Assessment: Good security-focused refactor with one critical fix needed. The architecture changes properly implement the multi-path authorization requirement while maintaining security boundaries. |
|
Claude finished @kixelated's task —— View job Code Review Complete 👍 Review Tasks
After a thorough security review of this PR, I found no critical security issues. Here's my assessment: ✅ Security Assessment: GOODJWT Implementation Changes:
Path Implementation Security:
Authentication Flow:
✅ Code Quality Observations:Breaking Changes:
Test Coverage:
Architecture:
Minor Notes:
Overall Assessment: This is a solid security-focused refactor that improves JWT compliance while adding multi-path authorization capabilities. No security issues found. |
My use case is that a user should be able to get announcements for their favorite channels, not the entire world. This required a BREAKING auth change because the existing "sub" field in the token actually has meaning in JWT, and needs to be a string.
I also took another stab at
Path. It's nicer now... except lifetimes can be a pain. I couldn't figure out how to get serde deserialize because of lifetimes so I'm using strings for now.