godotengine / godot-git-plugin

Git implementation of the VCS interface in Godot
MIT License
720 stars 75 forks source link

Push to Gitea not working with ssh keys #257

Open epbenten opened 2 months ago

epbenten commented 2 months ago

having some issues getting the plugin to work nicely using ssh keys with gitea. Using user:pass works fine though.

I have tested with Git for windows and it works just fine.

Below is the output i get from the console. Let me know if you want me to run any tests. I'll see if i can find anything in the server logs.

  core/variant/variant_utility.cpp:1092 - GitPlugin: Could not connect to remote "Origin". Are your credentials correct? Try using a PAT token (in case you are using Github) as your password. Error -1: failed to parse supported auth schemes: The operation identifier is not valid.
   in godot-git-plugin\src\git_plugin.cpp:GitPlugin::_push#L533
epbenten commented 2 months ago

Ahh. looks like git for windows has support for oath tokens and uses the sshkeys to sign in, then gets and uses the tokens. I'll see if i can find any documentation on it.

This is probably out of scope for the plugin.

Logs from gitea (Obfuscation via find and replace)

from git plugin

gitea       | 2024/09/17 14:21:08 ...eb/routing/logger.go:102:func1() [I] router: completed GET /localuser/repo.git/info/refs?service=git-receive-pack for 192.168.0.20:25199, 401 Unauthorized in 0.3ms @ web/githttp.go:16(web.requireSignIn)
gitea       | 2024/09/17 14:21:08 ...rvices/auth/basic.go:130:Verify() [E] UserSignIn: user's password is invalid [uid: 3, name: localuser]
gitea       | 2024/09/17 14:21:08 routers/web/web.go:123:func7() [E] Failed to verify user: user's password is invalid [uid: 3, name: localuser]
gitea       | 2024/09/17 14:21:08 ...eb/routing/logger.go:102:func1() [I] router: completed GET /localuser/repo.git/info/refs?service=git-receive-pack for 192.168.0.20:25199, 401 Unauthorized in 84.7ms @ web/web.go:120(web.Routes.webAuth)

from git gui

gitea       | 2024/09/17 14:16:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET /localuser/repo.git/info/refs?service=git-receive-pack for 192.168.0.20:25069, 401 Unauthorized in 0.2ms @ web/githttp.go:16(web.requireSignIn)
gitea       | 2024/09/17 14:16:54 ...eb/routing/logger.go:102:func1() [I] router: completed POST /login/oauth/access_token for 192.168.0.20:25070, 200 OK in 25.5ms @ auth/oauth.go:618(auth.AccessTokenOAuth)
gitea       | 2024/09/17 14:16:54 ...eb/routing/logger.go:102:func1() [I] router: completed GET /localuser/repo.git/info/refs?service=git-receive-pack for 192.168.0.20:25069, 200 OK in 8.1ms @ repo/githttp.go:532(repo.GetInfoRefs)