From cca676dcb3824e9f9ee21ecf0a2cf8c55b0d4ad9 Mon Sep 17 00:00:00 2001 From: tsmethurst Date: Mon, 15 Mar 2021 18:59:38 +0100 Subject: tests --- internal/oauth/oauth.go | 71 +++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 41 deletions(-) (limited to 'internal/oauth/oauth.go') diff --git a/internal/oauth/oauth.go b/internal/oauth/oauth.go index ac833d1fc..d79db95ed 100644 --- a/internal/oauth/oauth.go +++ b/internal/oauth/oauth.go @@ -18,47 +18,36 @@ package oauth -type Server struct { - +import ( + "github.com/gotosocial/oauth2/v4" + "github.com/gotosocial/oauth2/v4/errors" + "github.com/gotosocial/oauth2/v4/manage" + "github.com/gotosocial/oauth2/v4/server" + "github.com/sirupsen/logrus" +) + +type API struct { + manager *manage.Manager + server *server.Server } -func main() { -// manager := manage.NewDefaultManager() -// // token memory store -// manager.MustTokenStorage(store.NewMemoryTokenStore()) - -// // client memory store -// clientStore := store.NewClientStore() -// clientStore.Set("000000", &models.Client{ -// ID: "000000", -// Secret: "999999", -// Domain: "http://localhost", -// }) -// manager.MapClientStorage(clientStore) - -// srv := server.NewDefaultServer(manager) -// srv.SetAllowGetAccessRequest(true) -// srv.SetClientInfoHandler(server.ClientFormHandler) - -// srv.SetInternalErrorHandler(func(err error) (re *errors.Response) { -// log.Println("Internal Error:", err.Error()) -// return -// }) - -// srv.SetResponseErrorHandler(func(re *errors.Response) { -// log.Println("Response Error:", re.Error.Error()) -// }) - -// http.HandleFunc("/authorize", func(w http.ResponseWriter, r *http.Request) { -// err := srv.HandleAuthorizeRequest(w, r) -// if err != nil { -// http.Error(w, err.Error(), http.StatusBadRequest) -// } -// }) - -// http.HandleFunc("/token", func(w http.ResponseWriter, r *http.Request) { -// srv.HandleTokenRequest(w, r) -// }) - -// log.Fatal(http.ListenAndServe(":9096", nil)) +func New(ts oauth2.TokenStore, cs oauth2.ClientStore, log *logrus.Logger) *API { + manager := manage.NewDefaultManager() + manager.MapTokenStorage(ts) + manager.MapClientStorage(cs) + + srv := server.NewDefaultServer(manager) + srv.SetInternalErrorHandler(func(err error) *errors.Response { + log.Errorf("internal oauth error: %s", err) + return nil + }) + + srv.SetResponseErrorHandler(func(re *errors.Response) { + log.Errorf("internal response error: %s", re.Error) + }) + + return &API{ + manager: manager, + server: srv, + } } -- cgit v1.2.3