gotosocial/vendor/code.superseriousbusiness.org/oauth2/v4/manage/util.go
kim 77eddea3af [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>
2025-06-06 15:14:37 +02:00

32 lines
769 B
Go

package manage
import (
"code.superseriousbusiness.org/oauth2/v4"
"net/url"
"strings"
"code.superseriousbusiness.org/oauth2/v4/errors"
)
type (
// ValidateURIHandler validates that redirectURI is contained in baseURI
ValidateURIHandler func(baseURI, redirectURI string) error
ExtractExtensionHandler func(*oauth2.TokenGenerateRequest, oauth2.ExtendableTokenInfo)
)
// DefaultValidateURI validates that redirectURI is contained in baseURI
func DefaultValidateURI(baseURI string, redirectURI string) error {
base, err := url.Parse(baseURI)
if err != nil {
return err
}
redirect, err := url.Parse(redirectURI)
if err != nil {
return err
}
if !strings.HasSuffix(redirect.Host, base.Host) {
return errors.ErrInvalidRedirectURI
}
return nil
}