{"action":"created","issue":{"url":"https://api.github.com/repos/jpadilla/pyjwt/issues/127","labels_url":"https://api.github.com/repos/jpadilla/pyjwt/issues/127/labels{/name}","comments_url":"https://api.github.com/repos/jpadilla/pyjwt/issues/127/comments","events_url":"https://api.github.com/repos/jpadilla/pyjwt/issues/127/events","html_url":"https://github.com/jpadilla/pyjwt/issues/127","id":65103909,"number":127,"title":"Add more flexible and complete verification options","user":{"login":"mark-adams","id":472350,"avatar_url":"https://avatars.githubusercontent.com/u/472350?v=3","gravatar_id":"","url":"https://api.github.com/users/mark-adams","html_url":"https://github.com/mark-adams","followers_url":"https://api.github.com/users/mark-adams/followers","following_url":"https://api.github.com/users/mark-adams/following{/other_user}","gists_url":"https://api.github.com/users/mark-adams/gists{/gist_id}","starred_url":"https://api.github.com/users/mark-adams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mark-adams/subscriptions","organizations_url":"https://api.github.com/users/mark-adams/orgs","repos_url":"https://api.github.com/users/mark-adams/repos","events_url":"https://api.github.com/users/mark-adams/events{/privacy}","received_events_url":"https://api.github.com/users/mark-adams/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jpadilla/pyjwt/labels/enhancement","name":"enhancement","color":"c7def8"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/jpadilla/pyjwt/milestones/3","html_url":"https://github.com/jpadilla/pyjwt/milestones/v1.1.0","labels_url":"https://api.github.com/repos/jpadilla/pyjwt/milestones/3/labels","id":1064336,"number":3,"title":"v1.1.0","description":null,"creator":{"login":"mark-adams","id":472350,"avatar_url":"https://avatars.githubusercontent.com/u/472350?v=3","gravatar_id":"","url":"https://api.github.com/users/mark-adams","html_url":"https://github.com/mark-adams","followers_url":"https://api.github.com/users/mark-adams/followers","following_url":"https://api.github.com/users/mark-adams/following{/other_user}","gists_url":"https://api.github.com/users/mark-adams/gists{/gist_id}","starred_url":"https://api.github.com/users/mark-adams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mark-adams/subscriptions","organizations_url":"https://api.github.com/users/mark-adams/orgs","repos_url":"https://api.github.com/users/mark-adams/repos","events_url":"https://api.github.com/users/mark-adams/events{/privacy}","received_events_url":"https://api.github.com/users/mark-adams/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":2,"state":"open","created_at":"2015-04-13T04:08:06Z","updated_at":"2015-04-13T04:10:28Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2015-03-29T22:43:46Z","updated_at":"2015-04-13T20:04:27Z","closed_at":"2015-04-09T02:18:06Z","body":"I was thinking that it might be useful for us to implement more flexible verification options.\r\n\r\nI propose something like this:\r\n\r\n```\r\ndef decode(token, secret, options=None)\r\n```\r\n\r\nwhere options is a dict that looks something like this:\r\n```\r\noptions = {\r\n   'verify_signature': True,\r\n   'verify_exp': True,\r\n   'verify_nbf': True,\r\n   'verify_iat': True,\r\n   'verify_aud`: True\r\n}\r\n```\r\n\r\nThis is similar to what [ruby-jwt does](https://github.com/progrium/ruby-jwt/blob/master/lib/jwt.rb#L110)\r\nWe could make it where options could be specified globally (at the PyJWT object level) or as an override argument to `decode()`\r\n"},"comment":{"url":"https://api.github.com/repos/jpadilla/pyjwt/issues/comments/92481870","html_url":"https://github.com/jpadilla/pyjwt/issues/127#issuecomment-92481870","issue_url":"https://api.github.com/repos/jpadilla/pyjwt/issues/127","id":92481870,"user":{"login":"michaeldavis-wf","id":1480549,"avatar_url":"https://avatars.githubusercontent.com/u/1480549?v=3","gravatar_id":"","url":"https://api.github.com/users/michaeldavis-wf","html_url":"https://github.com/michaeldavis-wf","followers_url":"https://api.github.com/users/michaeldavis-wf/followers","following_url":"https://api.github.com/users/michaeldavis-wf/following{/other_user}","gists_url":"https://api.github.com/users/michaeldavis-wf/gists{/gist_id}","starred_url":"https://api.github.com/users/michaeldavis-wf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaeldavis-wf/subscriptions","organizations_url":"https://api.github.com/users/michaeldavis-wf/orgs","repos_url":"https://api.github.com/users/michaeldavis-wf/repos","events_url":"https://api.github.com/users/michaeldavis-wf/events{/privacy}","received_events_url":"https://api.github.com/users/michaeldavis-wf/received_events","type":"User","site_admin":false},"created_at":"2015-04-13T20:04:27Z","updated_at":"2015-04-13T20:04:27Z","body":"@mark-adams I know timelines are to be taken with a grain of salt, but do you have a guesstimate on how long 1.1.0 might be?  I would love to be able to pull in the changes from this PR.\r\n\r\nIf it is going to be too long, would it be possible to cut a 1.0.2 release with the current master?"}}