Ivan Galakhov пре 4 година
родитељ
комит
95f1742209
3 измењених фајлова са 21 додато и 6 уклоњено
  1. 13 0
      internal/oauth/config.go
  2. 2 6
      server/api/api.go
  3. 6 0
      server/api/oauth_github_handler.go

+ 13 - 0
internal/oauth/config.go

@@ -31,6 +31,19 @@ func NewGithubClient(cfg *Config) *oauth2.Config {
 	}
 }
 
+func NewGithubAppClient(cfg *Config) *oauth2.Config {
+	return &oauth2.Config{
+		ClientID:     cfg.ClientID,
+		ClientSecret: cfg.ClientSecret,
+		Endpoint: oauth2.Endpoint{
+			AuthURL:  "https://github.com/login/oauth/authorize",
+			TokenURL: "https://github.com/login/oauth/access_token",
+		},
+		RedirectURL: cfg.BaseURL + "/api/oauth/github-app/callback",
+		Scopes:      cfg.Scopes,
+	}
+}
+
 func NewDigitalOceanClient(cfg *Config) *oauth2.Config {
 	return &oauth2.Config{
 		ClientID:     cfg.ClientID,

+ 2 - 6
server/api/api.go

@@ -178,15 +178,11 @@ func New(conf *AppConfig) (*App, error) {
 		app.Capabilities.GithubLogin = sc.GithubLoginEnabled
 	}
 
-	fmt.Println("Github App Credentials:")
-	fmt.Println(sc.GithubAppClientID)
-	fmt.Println(sc.GithubAppClientSecret)
-
 	if sc.GithubAppClientID != "" && sc.GithubAppClientSecret != "" {
-		app.GithubAppConf = oauth.NewGithubClient(&oauth.Config{
+		app.GithubAppConf = oauth.NewGithubAppClient(&oauth.Config{
 			ClientID:     sc.GithubAppClientID,
 			ClientSecret: sc.GithubAppClientSecret,
-			Scopes:       []string{},
+			Scopes:       []string{"read:user"},
 			BaseURL:      sc.ServerURL,
 		})
 	}

+ 6 - 0
server/api/oauth_github_handler.go

@@ -340,5 +340,11 @@ func (app *App) HandleGithubAppOAuthCallback(w http.ResponseWriter, r *http.Requ
 		return
 	}
 
+	//
+
+	//app.Repo.User.ReadUser(session.Values["user_id"].(uint))
+
+	//session.Values["user_id"]
+
 	fmt.Println(token)
 }