forked from finos/git-proxy
-
Notifications
You must be signed in to change notification settings - Fork 2
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
Security: Api endpoints should not expose user credentials #4
Comments
Git-Proxy SSH Implementation SummaryCompleted Features ✅1. SSH Server Implementation
2. User Authentication Enhancement
// User can now store multiple SSH keys
const user = {
username: string,
gitAccount: string,
publicKeys: string[] // Added this field
} 3. CLI Enhancement
git-proxy keys add <public-key> # New command 4. SSH Authentication Flow
5. Proxy Chain Integration
In Progress 🔄Enhanced Remote Communication
// Current implementation being enhanced
if (gitProtocol === 'ssh') {
// SSH protocol using native git
cloneUrl = action.url.replace('https://github.com/', '[email protected]:');
execSync(`git clone ${cloneUrl}`, {
cwd: action.proxyGitPath,
stdio: 'pipe',
});
} else {
// HTTPS protocol using isomorphic-git
await git.clone({
fs,
http: gitHttpClient,
url: cloneUrl,
onAuth: () => ({
username,
password,
}),
dir: `${action.proxyGitPath}/${action.repoName}`,
});
} To Do 📝1. UI Enhancements
2. Complete SSH Operation Support
Architecture OverviewsequenceDiagram
participant Client
participant SSHServer
participant ProxyChain
participant GitHub
Client->>SSHServer: SSH Connection with Key
SSHServer->>SSHServer: Authenticate via Public Key
SSHServer->>ProxyChain: Forward Request
ProxyChain->>ProxyChain: Process Request
ProxyChain->>GitHub: Execute Git Operation
GitHub->>ProxyChain: Response
ProxyChain->>SSHServer: Forward Response
SSHServer->>Client: Return Result
This implementation provides a more secure and flexible way to interact with Git-Proxy, allowing users to leverage SSH keys for authentication while maintaining all the security and control features of the proxy chain. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
No description provided.
The text was updated successfully, but these errors were encountered: