mirror of
https://github.com/casdoor/casdoor.git
synced 2025-07-03 12:30:19 +08:00
fix: fix CAS callback url not match bug (#1728)
Co-authored-by: mfk <mfk@hengwei.com.cn>
This commit is contained in:
@ -72,6 +72,11 @@ func (c *RootController) CasProxyValidate() {
|
|||||||
c.CasP3ServiceAndProxyValidate()
|
c.CasP3ServiceAndProxyValidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func queryUnescape(service string) string {
|
||||||
|
s, _ := url.QueryUnescape(service)
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
func (c *RootController) CasP3ServiceAndProxyValidate() {
|
func (c *RootController) CasP3ServiceAndProxyValidate() {
|
||||||
ticket := c.Input().Get("ticket")
|
ticket := c.Input().Get("ticket")
|
||||||
format := c.Input().Get("format")
|
format := c.Input().Get("format")
|
||||||
@ -91,7 +96,7 @@ func (c *RootController) CasP3ServiceAndProxyValidate() {
|
|||||||
// find the token
|
// find the token
|
||||||
if ok {
|
if ok {
|
||||||
// check whether service is the one for which we previously issued token
|
// check whether service is the one for which we previously issued token
|
||||||
if strings.HasPrefix(service, issuedService) {
|
if strings.HasPrefix(service, issuedService) || strings.HasPrefix(queryUnescape(service), issuedService) {
|
||||||
serviceResponse.Success = response
|
serviceResponse.Success = response
|
||||||
} else {
|
} else {
|
||||||
// service not match
|
// service not match
|
||||||
|
Reference in New Issue
Block a user