lore-server: Support file:// JWKS endpoints in JWK service - #44
lore-server: Support file:// JWKS endpoints in JWK service #44kidskoding wants to merge 4 commits into
Conversation
|
maintainers / someone please review - @ragnarula @mjansson |
|
sure thing! accidentally stashed all changes at once! |
b2cdd30 to
b6acd90
Compare
|
@peter-lockhart-pub please review again, along with #50! |
|
Maintainers may need to reapprove CI/CD workflows due to a force push of commits on existing fork, intended to align with relevant PR titles - @mjansson, @peter-lockhart-pub |
Done! This PR will be picked up by another process that will merge it now that it is approved and good to go |
Signed-off-by: Anirudh Konidala <kidskodingclub@gmail.com>
Per review feedback, the file:// and http(s):// JWKS load paths shared one generic parse-error warning. Split it so the file case logs "invalid JWKS file contents" and the remote case keeps "failed to parse JWKS response". Signed-off-by: Anirudh Konidala <kidskodingclub@gmail.com>
|
We'll get this merged once the intake and attribution process is in place, ideally early next week. |
|
sounds good! thank you! updated fork so looks like PR has updated merge commit in order to sync fork to upstream |
Upon request in #44 thread by @peter-lockhart-pub Local Claude Code skills and settings live under .claude/ and shouldn't be tracked. The prior rule only covered one skill subdirectory; broaden it to the whole directory Just an fyi, these skills that were gitignored are used to help assist in the codebase, such as finding good issues to tackle and understanding what the codebase does from a technical standpoint. Some do assist in code, where disclaimers will be written when done so, but code will still carefully be checked, reviewed, and tested via a human before sending in a PR ``` Imported-PR: #50 Imported-From: 46da301 Imported-Base: a00b1c4 Imported-Merge: 9595422 Imported-Author: Anirudh Konidala Signed-off-by: Anirudh Konidala <kidskodingclub@gmail.com> GH-URL: #50 ``` Lore-RevId: 316 Lore-Signature: 19ef4eb8b9d9a88b8fe719aa4ebae4e4ba91378645848dc2a255cdff96a89203
|
Imported as Lore CR-256. |
|
Closed by mirrored commit ed0299b. |
# Summary Fixes #32 Added a scheme check in `fetch_new_keys()` that checks for either file:// or http:// (https://) - If http:// or https://, nothing changes - same network fetch as before - If it's a file://, open the path on disk and read contents directly (implemented via `tokio::fs::read_to_string` instead of communicating over HTTP) ## Test Plan Added two tests covering the new file-read path: one verifies keys load correctly from a file:// endpoint and the other confirms a missing file still fails cleanly - **Ran Tests**: cargo test -p lore-server auth::jwk:: — both loads_keys_from_file_url and file_url_missing_file_returns_error - PASS - **Format, Build, and Pre-commit** - Formatted via clippy and cargo nightly formatter; Built via cargo build; pre-commit tool ran - cargo +nightly fmt --all - cargo clippy --all-targets -- -D warnings --no-deps - cargo build — all clean (no error) - pre-commit run --all-files — clean ``` Imported-PR: #44 Imported-From: 084b461 Imported-Base: 71173f3 Imported-Merge: ff95c30 Imported-Author: Anirudh Konidala Signed-off-by: Anirudh Konidala <kidskodingclub@gmail.com> GH-URL: #44 ``` Lore-RevId: 370 Lore-Signature: f0f1a87ed1968bc52557dfc4f9decca59c680d0a7535daa8440d2ecdcb5fd723
# Summary Fixes EpicGames#32 Added a scheme check in `fetch_new_keys()` that checks for either file:// or http:// (https://) - If http:// or https://, nothing changes - same network fetch as before - If it's a file://, open the path on disk and read contents directly (implemented via `tokio::fs::read_to_string` instead of communicating over HTTP) ## Test Plan Added two tests covering the new file-read path: one verifies keys load correctly from a file:// endpoint and the other confirms a missing file still fails cleanly - **Ran Tests**: cargo test -p lore-server auth::jwk:: — both loads_keys_from_file_url and file_url_missing_file_returns_error - PASS - **Format, Build, and Pre-commit** - Formatted via clippy and cargo nightly formatter; Built via cargo build; pre-commit tool ran - cargo +nightly fmt --all - cargo clippy --all-targets -- -D warnings --no-deps - cargo build — all clean (no error) - pre-commit run --all-files — clean ``` Imported-PR: EpicGames#44 Imported-From: 084b461 Imported-Base: 71173f3 Imported-Merge: ff95c30 Imported-Author: Anirudh Konidala Signed-off-by: Anirudh Konidala <kidskodingclub@gmail.com> GH-URL: EpicGames#44 ``` Lore-RevId: 370 Lore-Signature: f0f1a87ed1968bc52557dfc4f9decca59c680d0a7535daa8440d2ecdcb5fd723 (cherry picked from commit ed0299b)
Summary
Fixes #32
Added a scheme check in
fetch_new_keys()that checks for either file:// or http:// (https://)tokio::fs::read_to_stringinstead of communicating over HTTP)Test Plan
Added two tests covering the new file-read path: one verifies keys load correctly from a file:// endpoint and the other confirms a missing file still fails cleanly