This commit is contained in:
tsmethurst
2021-03-15 18:59:38 +01:00
parent 1eecc2688c
commit cca676dcb3
11 changed files with 269 additions and 358 deletions

View File

@ -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())
func New(ts oauth2.TokenStore, cs oauth2.ClientStore, log *logrus.Logger) *API {
manager := manage.NewDefaultManager()
manager.MapTokenStorage(ts)
manager.MapClientStorage(cs)
// // 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.SetInternalErrorHandler(func(err error) *errors.Response {
log.Errorf("internal oauth error: %s", err)
return nil
})
// srv := server.NewDefaultServer(manager)
// srv.SetAllowGetAccessRequest(true)
// srv.SetClientInfoHandler(server.ClientFormHandler)
srv.SetResponseErrorHandler(func(re *errors.Response) {
log.Errorf("internal response error: %s", re.Error)
})
// 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))
return &API{
manager: manager,
server: srv,
}
}