summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/superseriousbusiness/oauth2/v4/server/config.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2025-03-02 16:42:51 +0100
committerLibravatar GitHub <noreply@github.com>2025-03-02 16:42:51 +0100
commit8488ac928651656c6f7bebf5eaabce62c2b9fb66 (patch)
tree94357311026e5ed96862a647400375a4543dd815 /vendor/codeberg.org/superseriousbusiness/oauth2/v4/server/config.go
parent[chore] go-swagger -> codeberg (#3856) (diff)
downloadgotosocial-8488ac928651656c6f7bebf5eaabce62c2b9fb66.tar.xz
[chore] migrate oauth2 -> codeberg (#3857)
Diffstat (limited to 'vendor/codeberg.org/superseriousbusiness/oauth2/v4/server/config.go')
-rw-r--r--vendor/codeberg.org/superseriousbusiness/oauth2/v4/server/config.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/codeberg.org/superseriousbusiness/oauth2/v4/server/config.go b/vendor/codeberg.org/superseriousbusiness/oauth2/v4/server/config.go
new file mode 100644
index 000000000..8d52bd231
--- /dev/null
+++ b/vendor/codeberg.org/superseriousbusiness/oauth2/v4/server/config.go
@@ -0,0 +1,50 @@
+package server
+
+import (
+ "net/http"
+ "time"
+
+ "codeberg.org/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
+}