{"repo":"nubank/clj-github-app","free":true,"listed":false,"github":"https://github.com/nubank/clj-github-app","clone":"git clone https://github.com/nubank/clj-github-app.git","description":"A library to implement GitHub Apps in Clojure.","language":"Clojure","stars":48,"topics":["clojure","github","client","authentication","webhook"],"license":"EPL-1.0","category":"auth-billing-email","readme_excerpt":"clj-github-app A library to implement [GitHub Apps] in Clojure. Includes: [Webhook payload signature checker][webhook-signatures] with secure comparison. API client with HTTP connection pool. Access token manager with caching ([Authenticating with GitHub Apps] is tricky). Usage Checking webhook signatures When implementing a webhook handler, it is recommended to check the webhook request signature before processing it. Please read the [official documentation][webhook-signatures] first. Imagine you have a webhook handler: The key part here is the call to check-payload-signature-256 . It takes 3 arguments: webhook-secret — the exact secret string that you set when configuring webhook for your repo. If this argument is blank or nil, check-payload-signature-256 will do nothing and return :clj-github-app.webhook-signature/not-checked . x-hub-signature-256 — contents of \"X-Hub-Signature-256\" request header. payload — request body as a string. Possible return values: :clj-github-app.webhook-signature/ok — signature matches the payload. :clj-github-app.webhook-signature/wrong-signature — signature does not match the payload. :clj-github-app.webhook-signature/missing-signature — x-hub-signature parameter was blank or nil. :clj-github-app.webhook-signature/not-checked — no check was done because webhook-secret parameter was blank or nil. Authenticating as a GitHub App Please read [Authenticating with GitHub Apps] official documentation first. Example (uses [mount-lite]): clj-github-app","default_branch":null,"files":null,"tree":[],"storefront":"/r/nubank","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nubank/clj-github-app/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}