I am writing an app in Ruby on Rails that I want to use for authenticating Google Apps users. I am having difficulty decoding the SAMLRequest. My code looks like this: string = CGI::unescape(params[:SAMLRequest]) doc = Base64.decode64(string) zstream = Zlib::Inflate.new buf = zstream.inflate(string) The data from the SAMLRequest looks like this: fVLJTsMwEL0j8Q %2BW71kakEBWE1SoKiqxRG3gwM04Q2Li2MbjNPD3pGmrwgFu1vjNW2ZmevXZKrIBh9LolE7CmBLQwpRSVyl9KhbBJb3KTk %2BmyFtl2azztV7BRwfoydCpkY0fKe2cZoajRKZ5C8i8YOvZ %2FR1LwphZZ7wRRlGynKe0rQAaqKtXDlVTN6C0svbdciHqdzu8TakrsLqh5PlgK9naWiJ2sNToufZDKY4vgkkSxEkRn7MkZvHZCyX5Xula6l2C %2F2y97kDIbosiD%2FLHdTESbGQJ7mFAp7QyplIQCtNSMkME5wc7N0Zj14Jbg9tIAU %2Bru5TW3ltkUdT3fXhsingkfW9cg%2BdhhxEXuE2Rc0S5Gdi964Bm42TZGM79GOn %2F1vnBDM2OctPoB1W239g2yHKeGyXFF5kpZfobB9wf5MnCuJb7v9Um4WSsyDJ4G6Gs02hByDcJJSVRtlP9fRrDwXwD I get this error: "Zlib::DataError: incorrect header check" I have tried every combination of unescape, decode and inflate that I can think of, but no joy. I will really appreciate any help. Thanks in anticipation, Keith