{"action":"created","issue":{"url":"https://api.github.com/repos/quaderno/quaderno-api/issues/4","labels_url":"https://api.github.com/repos/quaderno/quaderno-api/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/quaderno/quaderno-api/issues/4/comments","events_url":"https://api.github.com/repos/quaderno/quaderno-api/issues/4/events","html_url":"https://github.com/quaderno/quaderno-api/issues/4","id":69753824,"number":4,"title":"Generating Webhook signatures","user":{"login":"pat","id":4183,"avatar_url":"https://avatars.githubusercontent.com/u/4183?v=3","gravatar_id":"","url":"https://api.github.com/users/pat","html_url":"https://github.com/pat","followers_url":"https://api.github.com/users/pat/followers","following_url":"https://api.github.com/users/pat/following{/other_user}","gists_url":"https://api.github.com/users/pat/gists{/gist_id}","starred_url":"https://api.github.com/users/pat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pat/subscriptions","organizations_url":"https://api.github.com/users/pat/orgs","repos_url":"https://api.github.com/users/pat/repos","events_url":"https://api.github.com/users/pat/events{/privacy}","received_events_url":"https://api.github.com/users/pat/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"xxswingxx","id":1730519,"avatar_url":"https://avatars.githubusercontent.com/u/1730519?v=3","gravatar_id":"","url":"https://api.github.com/users/xxswingxx","html_url":"https://github.com/xxswingxx","followers_url":"https://api.github.com/users/xxswingxx/followers","following_url":"https://api.github.com/users/xxswingxx/following{/other_user}","gists_url":"https://api.github.com/users/xxswingxx/gists{/gist_id}","starred_url":"https://api.github.com/users/xxswingxx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xxswingxx/subscriptions","organizations_url":"https://api.github.com/users/xxswingxx/orgs","repos_url":"https://api.github.com/users/xxswingxx/repos","events_url":"https://api.github.com/users/xxswingxx/events{/privacy}","received_events_url":"https://api.github.com/users/xxswingxx/received_events","type":"User","site_admin":false},"milestone":null,"comments":11,"created_at":"2015-04-21T06:08:29Z","updated_at":"2016-01-08T13:45:45Z","closed_at":"2015-04-21T12:19:10Z","body":"Just looking for some clarification on how to generate webhook signatures.\r\n\r\nFirstly, it seems that all parameters come through as standard form params (`application/x-www-form-urlencoded`). There's no JSON values at all - `data[object][id]=123` instead of `data={\"object\":{\"id\":123}}`. The initial docs indicate at least `data` returns JSON, and the output provided had me initially thinking the entire request body would be JSON (`application/json` instead of `application/x-www-form-urlencoded`).\r\n\r\nSecondly, when it comes to sorting parameters, is it by key in a non-nested sense? i.e. should it be by `data[object][id]`? By the entire key and value (`data[object][id]=123`)? Or something else? Non-nested keys are what I've been trying, but no luck yet.\r\n\r\nMy current implementation can be found here: https://github.com/inspire9/quadhook - the tests pass, but when I've tried it with a real request from a webhook I've just generated and received a call on, the signature does not match."},"comment":{"url":"https://api.github.com/repos/quaderno/quaderno-api/issues/comments/170007633","html_url":"https://github.com/quaderno/quaderno-api/issues/4#issuecomment-170007633","issue_url":"https://api.github.com/repos/quaderno/quaderno-api/issues/4","id":170007633,"user":{"login":"xxswingxx","id":1730519,"avatar_url":"https://avatars.githubusercontent.com/u/1730519?v=3","gravatar_id":"","url":"https://api.github.com/users/xxswingxx","html_url":"https://github.com/xxswingxx","followers_url":"https://api.github.com/users/xxswingxx/followers","following_url":"https://api.github.com/users/xxswingxx/following{/other_user}","gists_url":"https://api.github.com/users/xxswingxx/gists{/gist_id}","starred_url":"https://api.github.com/users/xxswingxx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xxswingxx/subscriptions","organizations_url":"https://api.github.com/users/xxswingxx/orgs","repos_url":"https://api.github.com/users/xxswingxx/repos","events_url":"https://api.github.com/users/xxswingxx/events{/privacy}","received_events_url":"https://api.github.com/users/xxswingxx/received_events","type":"User","site_admin":false},"created_at":"2016-01-08T13:45:45Z","updated_at":"2016-01-08T13:45:45Z","body":"@seanpreston, not anymore really. Since this issue was closed, we've increased the details of the object so you may find new fields. \r\n\r\nYou should not rely on the above example exact order."}}