diff options
| author | 2022-06-11 10:39:39 +0200 | |
|---|---|---|
| committer | 2022-06-11 10:39:39 +0200 | |
| commit | 694a49058951de31cca4ea061e2c08d44e712612 (patch) | |
| tree | 8509cb95f41faaf15d4352707617bff17300978d /internal/processing | |
| parent | [bugfix] Make accounts media_only query also work with pg (#643) (diff) | |
| download | gotosocial-694a49058951de31cca4ea061e2c08d44e712612.tar.xz | |
[feature] Add `created_at` and `error_description` to `/oauth/token` endpoint (#645)
* start fiddling about with oauth server
* start returning more helpful errors from oauth
* test helpful(ish) token errors
* add missing license header
Diffstat (limited to 'internal/processing')
| -rw-r--r-- | internal/processing/oauth.go | 35 | ||||
| -rw-r--r-- | internal/processing/processor.go | 3 | 
2 files changed, 38 insertions, 0 deletions
| diff --git a/internal/processing/oauth.go b/internal/processing/oauth.go new file mode 100644 index 000000000..9c974f76e --- /dev/null +++ b/internal/processing/oauth.go @@ -0,0 +1,35 @@ +/* +   GoToSocial +   Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org + +   This program is free software: you can redistribute it and/or modify +   it under the terms of the GNU Affero General Public License as published by +   the Free Software Foundation, either version 3 of the License, or +   (at your option) any later version. + +   This program is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +   GNU Affero General Public License for more details. + +   You should have received a copy of the GNU Affero General Public License +   along with this program.  If not, see <http://www.gnu.org/licenses/>. +*/ + +package processing + +import ( +	"net/http" + +	"github.com/superseriousbusiness/gotosocial/internal/gtserror" +) + +func (p *processor) OAuthHandleAuthorizeRequest(w http.ResponseWriter, r *http.Request) error { +	// todo: some kind of metrics stuff here +	return p.oauthServer.HandleAuthorizeRequest(w, r) +} + +func (p *processor) OAuthHandleTokenRequest(r *http.Request) (map[string]interface{}, gtserror.WithCode) { +	// todo: some kind of metrics stuff here +	return p.oauthServer.HandleTokenRequest(r) +} diff --git a/internal/processing/processor.go b/internal/processing/processor.go index a7a1c22e0..3afc25196 100644 --- a/internal/processing/processor.go +++ b/internal/processing/processor.go @@ -152,6 +152,9 @@ type Processor interface {  	// NotificationsGet  	NotificationsGet(ctx context.Context, authed *oauth.Auth, limit int, maxID string, sinceID string) (*apimodel.TimelineResponse, gtserror.WithCode) +	OAuthHandleTokenRequest(r *http.Request) (map[string]interface{}, gtserror.WithCode) +	OAuthHandleAuthorizeRequest(w http.ResponseWriter, r *http.Request) error +  	// SearchGet performs a search with the given params, resolving/dereferencing remotely as desired  	SearchGet(ctx context.Context, authed *oauth.Auth, searchQuery *apimodel.SearchQuery) (*apimodel.SearchResult, gtserror.WithCode) | 
