summaryrefslogtreecommitdiff
path: root/internal/oauth/oauth.go
diff options
context:
space:
mode:
authorLibravatar tsmethurst <tobi.smethurst@klarrio.com>2021-03-15 18:59:38 +0100
committerLibravatar tsmethurst <tobi.smethurst@klarrio.com>2021-03-15 18:59:38 +0100
commitcca676dcb3824e9f9ee21ecf0a2cf8c55b0d4ad9 (patch)
tree0aef8a75cbd731eb1637fcac6964b9eea1adcb78 /internal/oauth/oauth.go
parentbit of experimenting and tidying (diff)
downloadgotosocial-cca676dcb3824e9f9ee21ecf0a2cf8c55b0d4ad9.tar.xz
tests
Diffstat (limited to 'internal/oauth/oauth.go')
-rw-r--r--internal/oauth/oauth.go71
1 files changed, 30 insertions, 41 deletions
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,
+ }
}