diff --git a/custom/conf/app.example.ini b/custom/conf/app.example.ini index 8fe4adc9b6c..43c40c0fc0c 100644 --- a/custom/conf/app.example.ini +++ b/custom/conf/app.example.ini @@ -638,7 +638,8 @@ ENABLED = true ;; * https://github.com/git-ecosystem/git-credential-manager ;; * https://gitea.com/gitea/tea ;; * Gitea App (the official Gitea mobile app) -;DEFAULT_APPLICATIONS = git-credential-oauth, git-credential-manager, tea, gitea-app +;; * https://gitea.com/gitea/gitea-vscode +;DEFAULT_APPLICATIONS = git-credential-oauth, git-credential-manager, tea, gitea-app, gitea-vscode ;; ;; By default, OAuth2 applications can only use "http" and "https" as their redirect URI schemes. ;; If you need to use other schemes (e.g. for desktop applications), you can specify them here as a comma-separated list. diff --git a/models/auth/oauth2.go b/models/auth/oauth2.go index 5a018922d31..87d566b43cf 100644 --- a/models/auth/oauth2.go +++ b/models/auth/oauth2.go @@ -88,6 +88,16 @@ func BuiltinApplications() map[string]*BuiltinOAuth2Application { DisplayName: "Gitea App", RedirectURIs: []string{"com.gitea.app://oauth/callback"}, } + m["75a9ec3e-42b5-40cb-9144-9ea96ecd56a6"] = &BuiltinOAuth2Application{ + ConfigName: "gitea-vscode", + DisplayName: "gitea-vscode", + RedirectURIs: []string{ + "http://127.0.0.1", + "https://127.0.0.1", + "vscode://gitea.gitea-for-vscode/auth/callback", + "vscode-insiders://gitea.gitea-for-vscode/auth/callback", + }, + } return m } diff --git a/modules/setting/oauth2.go b/modules/setting/oauth2.go index 94bdf780dd4..d68b4344578 100644 --- a/modules/setting/oauth2.go +++ b/modules/setting/oauth2.go @@ -108,7 +108,7 @@ var OAuth2 = struct { JWTSigningAlgorithm: "RS256", JWTSigningPrivateKeyFile: "jwt/private.pem", MaxTokenLength: math.MaxInt16, - DefaultApplications: []string{"git-credential-oauth", "git-credential-manager", "tea", "gitea-app"}, + DefaultApplications: []string{"git-credential-oauth", "git-credential-manager", "tea", "gitea-app", "gitea-vscode"}, } func loadOAuth2From(rootCfg ConfigProvider) { diff --git a/modules/setting/oauth2_test.go b/modules/setting/oauth2_test.go index 7da186a9f49..4e5a647741a 100644 --- a/modules/setting/oauth2_test.go +++ b/modules/setting/oauth2_test.go @@ -62,7 +62,7 @@ func TestGetGeneralSigningSecretSave(t *testing.T) { func TestOauth2DefaultApplications(t *testing.T) { cfg, _ := NewConfigProviderFromData(``) loadOAuth2From(cfg) - assert.Equal(t, []string{"git-credential-oauth", "git-credential-manager", "tea", "gitea-app"}, OAuth2.DefaultApplications) + assert.Equal(t, []string{"git-credential-oauth", "git-credential-manager", "tea", "gitea-app", "gitea-vscode"}, OAuth2.DefaultApplications) cfg, _ = NewConfigProviderFromData(`[oauth2] DEFAULT_APPLICATIONS = tea