-
Notifications
You must be signed in to change notification settings - Fork 362
Add support for private github repos via git:directory #2856
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
base: trunk
Are you sure you want to change the base?
Conversation
cfa80bf to
4f2f5f3
Compare
…b specific code in the git library
0ce57bd to
06b1ae5
Compare
|
Thanks for the review, @adamziel. I have restructured this according to your feedback! I realize that we're modifying the parameters of the git:directory resource inside the blueprint but it seemed like the best way to trickle down the headers from the website to where we need it at the directory resource. |
| 'http://127.0.0.1:5263/cors-proxy.php?', | ||
| ]; | ||
|
|
||
| export function isGitHubUrl(url: string): boolean { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this used anywhere?
Motivation for the change, related issues
Currently, WordPress Playground can only fetch git:directory resources from public Github repositories, private ones are not supported.
Related: #2182.
This PR adds Github OAuth authentication support for private repositories:
Note: Because it uses Github OAuth and thus requires a Github user, this is not intended for demoing plugins that reside in private repos, rather for developers to run code in Playground that resides in their own private repositories.
Implementation details
Authentication Flow
UI
Technical Details
Testing Instructions (or ideally a Blueprint)
Test with a private repository:
Expected: Modal prompts for GitHub auth → redirects to GitHub → returns and loads repo successfully without showing modal again.
Verify: Public repos still work without auth, token persists in dev mode (localStorage), no modal persistence issues.