gotosocial/vendor/github.com/superseriousbusiness/oauth2/v4/server/config.go
Tobi Smethurst 98263a7de6
Grand test fixup (#138)
* start fixing up tests

* fix up tests + automate with drone

* fiddle with linting

* messing about with drone.yml

* some more fiddling

* hmmm

* add cache

* add vendor directory

* verbose

* ci updates

* update some little things

* update sig
2021-08-12 21:03:24 +02:00

51 lines
1.4 KiB
Go

package server
import (
"net/http"
"time"
"github.com/superseriousbusiness/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
}