ParseRedirectRequest returns the decoded SAML AuthnRequest from an HTTP-Redirect URL
(u *url.URL)
| 11 | |
| 12 | // ParseRedirectRequest returns the decoded SAML AuthnRequest from an HTTP-Redirect URL |
| 13 | func ParseRedirectRequest(u *url.URL) ([]byte, error) { |
| 14 | compressedRequest, err := base64.StdEncoding.DecodeString(u.Query().Get("SAMLRequest")) |
| 15 | if err != nil { |
| 16 | return nil, fmt.Errorf("cannot decode request: %s", err) |
| 17 | } |
| 18 | buf, err := ioutil.ReadAll(flate.NewReader(bytes.NewReader(compressedRequest))) |
| 19 | if err != nil { |
| 20 | return nil, fmt.Errorf("cannot decompress request: %s", err) |
| 21 | } |
| 22 | return buf, nil |
| 23 | } |
| 24 | |
| 25 | // ParseRedirectResponse returns the decoded SAML LogoutResponse from an HTTP-Redirect URL |
| 26 | func ParseRedirectResponse(u *url.URL) ([]byte, error) { |