mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-23 02:35:49 +08:00
fix: sendCasAuthenticationResponseErr when pgtUrlObj if not valid url (#2287)
* fix: sendCasAuthenticationResponseErr when pgtUrlObj if not valid url check pgtUrlObj.Scheme first will cause panic if url.Parse returns error. * Update cas.go --------- Co-authored-by: hsluoyz <hsluoyz@qq.com>
This commit is contained in:
parent
0b859197da
commit
0c5c308071
@ -121,15 +121,17 @@ func (c *RootController) CasP3ProxyValidate() {
|
|||||||
pgtiou := serviceResponse.Success.ProxyGrantingTicket
|
pgtiou := serviceResponse.Success.ProxyGrantingTicket
|
||||||
// todo: check whether it is https
|
// todo: check whether it is https
|
||||||
pgtUrlObj, err := url.Parse(pgtUrl)
|
pgtUrlObj, err := url.Parse(pgtUrl)
|
||||||
|
if err != nil {
|
||||||
|
c.sendCasAuthenticationResponseErr(InvalidProxyCallback, err.Error(), format)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if pgtUrlObj.Scheme != "https" {
|
if pgtUrlObj.Scheme != "https" {
|
||||||
c.sendCasAuthenticationResponseErr(InvalidProxyCallback, "callback is not https", format)
|
c.sendCasAuthenticationResponseErr(InvalidProxyCallback, "callback is not https", format)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// make a request to pgturl passing pgt and pgtiou
|
// make a request to pgturl passing pgt and pgtiou
|
||||||
if err != nil {
|
|
||||||
c.sendCasAuthenticationResponseErr(InternalError, err.Error(), format)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
param := pgtUrlObj.Query()
|
param := pgtUrlObj.Query()
|
||||||
param.Add("pgtId", pgt)
|
param.Add("pgtId", pgt)
|
||||||
param.Add("pgtIou", pgtiou)
|
param.Add("pgtIou", pgtiou)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user