mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-02 20:02:25 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package server
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
	"time"
 | 
						|
 | 
						|
	"code.superseriousbusiness.org/oauth2/v4"
 | 
						|
)
 | 
						|
 | 
						|
// Config configuration parameters
 | 
						|
type Config struct {
 | 
						|
	TokenType                   string                // token type
 | 
						|
	AllowGetAccessRequest       bool                  // to allow GET requests for the token
 | 
						|
	AllowedResponseTypes        []oauth2.ResponseType // allow the authorization type
 | 
						|
	AllowedGrantTypes           []oauth2.GrantType    // allow the grant type
 | 
						|
	AllowedCodeChallengeMethods []oauth2.CodeChallengeMethod
 | 
						|
	ForcePKCE                   bool
 | 
						|
}
 | 
						|
 | 
						|
// NewConfig create to configuration instance
 | 
						|
func NewConfig() *Config {
 | 
						|
	return &Config{
 | 
						|
		TokenType:            "Bearer",
 | 
						|
		AllowedResponseTypes: []oauth2.ResponseType{oauth2.Code, oauth2.Token},
 | 
						|
		AllowedGrantTypes: []oauth2.GrantType{
 | 
						|
			oauth2.AuthorizationCode,
 | 
						|
			oauth2.PasswordCredentials,
 | 
						|
			oauth2.ClientCredentials,
 | 
						|
			oauth2.Refreshing,
 | 
						|
		},
 | 
						|
		AllowedCodeChallengeMethods: []oauth2.CodeChallengeMethod{
 | 
						|
			oauth2.CodeChallengePlain,
 | 
						|
			oauth2.CodeChallengeS256,
 | 
						|
		},
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
// AuthorizeRequest authorization request
 | 
						|
type AuthorizeRequest struct {
 | 
						|
	ResponseType        oauth2.ResponseType
 | 
						|
	ClientID            string
 | 
						|
	Scope               string
 | 
						|
	RedirectURI         string
 | 
						|
	State               string
 | 
						|
	UserID              string
 | 
						|
	CodeChallenge       string
 | 
						|
	CodeChallengeMethod oauth2.CodeChallengeMethod
 | 
						|
	AccessTokenExp      time.Duration
 | 
						|
	Request             *http.Request
 | 
						|
}
 |