mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 01:52:26 -05:00
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>
32 lines
769 B
Go
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
|
|
}
|