mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-11 09:17:29 -06:00
[chore] updates code.superseriousbusiness.org/oauth2/v4 to ssb-v4.5.3-1 (#4245)
A brief note on the above change: Go does not seem to like version tagging outside of `v?[0-9\.]` formatting, so it translates `ssb-v4.5.3-1` to `v4.5.4-0.20250606121655-9d54ef189d42` and as such sees it as a "downgrade" compared to the previous `v4.9.0`. which functionally isn't a problem, everything still behaves as it should, but it means people can't just run `go get repo@latest` for this particular dependency. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4245 Co-authored-by: kim <grufwub@gmail.com> Co-committed-by: kim <grufwub@gmail.com>
This commit is contained in:
parent
a37dd59d1f
commit
77eddea3af
40 changed files with 325 additions and 1921 deletions
41
vendor/code.superseriousbusiness.org/oauth2/v4/manage/manager.go
generated
vendored
41
vendor/code.superseriousbusiness.org/oauth2/v4/manage/manager.go
generated
vendored
|
|
@ -2,6 +2,7 @@ package manage
|
|||
|
||||
import (
|
||||
"context"
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"code.superseriousbusiness.org/oauth2/v4"
|
||||
|
|
@ -34,6 +35,7 @@ type Manager struct {
|
|||
gtcfg map[oauth2.GrantType]*Config
|
||||
rcfg *RefreshingConfig
|
||||
validateURI ValidateURIHandler
|
||||
extractExtension ExtractExtensionHandler
|
||||
authorizeGenerate oauth2.AuthorizeGenerate
|
||||
accessGenerate oauth2.AccessGenerate
|
||||
tokenStore oauth2.TokenStore
|
||||
|
|
@ -93,6 +95,11 @@ func (m *Manager) SetValidateURIHandler(handler ValidateURIHandler) {
|
|||
m.validateURI = handler
|
||||
}
|
||||
|
||||
// SetExtractExtensionHandler set the token extension extractor
|
||||
func (m *Manager) SetExtractExtensionHandler(handler ExtractExtensionHandler) {
|
||||
m.extractExtension = handler
|
||||
}
|
||||
|
||||
// MapAuthorizeGenerate mapping the authorize code generate interface
|
||||
func (m *Manager) MapAuthorizeGenerate(gen oauth2.AuthorizeGenerate) {
|
||||
m.authorizeGenerate = gen
|
||||
|
|
@ -152,6 +159,9 @@ func (m *Manager) GenerateAuthToken(ctx context.Context, rt oauth2.ResponseType,
|
|||
}
|
||||
|
||||
ti := models.NewToken()
|
||||
if m.extractExtension != nil {
|
||||
m.extractExtension(tgr, ti)
|
||||
}
|
||||
ti.SetClientID(tgr.ClientID)
|
||||
ti.SetUserID(tgr.UserID)
|
||||
ti.SetRedirectURI(tgr.RedirectURI)
|
||||
|
|
@ -296,6 +306,12 @@ func (m *Manager) GenerateAccessToken(ctx context.Context, gt oauth2.GrantType,
|
|||
}
|
||||
}
|
||||
|
||||
if gt == oauth2.ClientCredentials && cli.IsPublic() == true {
|
||||
return nil, errors.ErrInvalidClient
|
||||
}
|
||||
|
||||
var extension url.Values
|
||||
|
||||
if gt == oauth2.AuthorizationCode {
|
||||
ti, err := m.getAndDelAuthorizationCode(ctx, tgr)
|
||||
if err != nil {
|
||||
|
|
@ -309,9 +325,16 @@ func (m *Manager) GenerateAccessToken(ctx context.Context, gt oauth2.GrantType,
|
|||
if exp := ti.GetAccessExpiresIn(); exp > 0 {
|
||||
tgr.AccessTokenExp = exp
|
||||
}
|
||||
if eti, ok := ti.(oauth2.ExtendableTokenInfo); ok {
|
||||
extension = eti.GetExtension()
|
||||
}
|
||||
}
|
||||
|
||||
ti := models.NewToken()
|
||||
ti.SetExtension(extension)
|
||||
if m.extractExtension != nil {
|
||||
m.extractExtension(tgr, ti)
|
||||
}
|
||||
ti.SetClientID(tgr.ClientID)
|
||||
ti.SetUserID(tgr.UserID)
|
||||
ti.SetRedirectURI(tgr.RedirectURI)
|
||||
|
|
@ -360,22 +383,14 @@ func (m *Manager) GenerateAccessToken(ctx context.Context, gt oauth2.GrantType,
|
|||
|
||||
// RefreshAccessToken refreshing an access token
|
||||
func (m *Manager) RefreshAccessToken(ctx context.Context, tgr *oauth2.TokenGenerateRequest) (oauth2.TokenInfo, error) {
|
||||
cli, err := m.GetClient(ctx, tgr.ClientID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if cliPass, ok := cli.(oauth2.ClientPasswordVerifier); ok {
|
||||
if !cliPass.VerifyPassword(tgr.ClientSecret) {
|
||||
return nil, errors.ErrInvalidClient
|
||||
}
|
||||
} else if tgr.ClientSecret != cli.GetSecret() {
|
||||
return nil, errors.ErrInvalidClient
|
||||
}
|
||||
|
||||
ti, err := m.LoadRefreshToken(ctx, tgr.Refresh)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if ti.GetClientID() != tgr.ClientID {
|
||||
return nil, errors.ErrInvalidRefreshToken
|
||||
}
|
||||
|
||||
cli, err := m.GetClient(ctx, ti.GetClientID())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
oldAccess, oldRefresh := ti.GetAccess(), ti.GetRefresh()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue