mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
Oauth/token (#7)
* add host and protocol options * some fiddling * tidying up and comments * tick off /oauth/token * tidying a bit * tidying * go mod tidy * allow attaching middleware to server * add middleware * more user friendly * add comments * comments * store account + app * tidying * lots of restructuring * lint + tidy
This commit is contained in:
@@ -18,13 +18,38 @@
|
||||
|
||||
package gtsmodel
|
||||
|
||||
import "github.com/gotosocial/gotosocial/pkg/mastotypes"
|
||||
|
||||
// Application represents an application that can perform actions on behalf of a user.
|
||||
// It is used to authorize tokens etc, and is associated with an oauth client id in the database.
|
||||
type Application struct {
|
||||
ID string `pg:"type:uuid,default:gen_random_uuid(),pk,notnull"`
|
||||
Name string
|
||||
Website string
|
||||
RedirectURI string `json:"redirect_uri"`
|
||||
ClientID string `json:"client_id"`
|
||||
ClientSecret string `json:"client_secret"`
|
||||
Scopes string `json:"scopes"`
|
||||
VapidKey string `json:"vapid_key"`
|
||||
// id of this application in the db
|
||||
ID string `pg:"type:uuid,default:gen_random_uuid(),pk,notnull"`
|
||||
// name of the application given when it was created (eg., 'tusky')
|
||||
Name string
|
||||
// website for the application given when it was created (eg., 'https://tusky.app')
|
||||
Website string
|
||||
// redirect uri requested by the application for oauth2 flow
|
||||
RedirectURI string
|
||||
// id of the associated oauth client entity in the db
|
||||
ClientID string
|
||||
// secret of the associated oauth client entity in the db
|
||||
ClientSecret string
|
||||
// scopes requested when this app was created
|
||||
Scopes string
|
||||
// a vapid key generated for this app when it was created
|
||||
VapidKey string
|
||||
}
|
||||
|
||||
// ToMastotype returns this application as a mastodon api type, ready for serialization
|
||||
func (a *Application) ToMastotype() *mastotypes.Application {
|
||||
return &mastotypes.Application{
|
||||
ID: a.ID,
|
||||
Name: a.Name,
|
||||
Website: a.Website,
|
||||
RedirectURI: a.RedirectURI,
|
||||
ClientID: a.ClientID,
|
||||
ClientSecret: a.ClientSecret,
|
||||
VapidKey: a.VapidKey,
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user