{"issue":{"state":"closed","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"milestone":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/6809963387750e4020e82951b0ab6d5a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"6809963387750e4020e82951b0ab6d5a","url":"https://api.github.com/users/matthiasnoback","login":"matthiasnoback","id":1193078},"assignee":null,"updated_at":"2011-11-16T00:03:06Z","labels":[],"closed_at":"2011-11-16T00:03:06Z","comments":0,"url":"https://api.github.com/repos/symfony/symfony-docs/issues/852","body":"It says:\r\n\r\n    if (file_exists($this->cacheDir.'/'.$nonce) && file_get_contents($this->cacheDir.'/'.$nonce) + 300 >= time()) {\r\n\r\nBut the comparison should be \"<\" since the contents of the file contain a timestamp for the first usage of the nonce, then, when the lifetime gets added to this timestamp, and the resulting timestamp is in the past (i.e. is *less* than time()), the nonce is expired. Only then an exception should be thrown.\r\n\r\nLocation: cookbook/security/custom_authentication_provider.rst\r\nLine number: 222","html_url":"https://github.com/symfony/symfony-docs/issues/852","title":"Bug in cookbook article about WSSE","number":852,"id":2228181,"created_at":"2011-11-14T08:37:53Z"},"action":"closed"}