{"id":564,"name":null,"description":"🔑 A Ruby wrapper for OAuth 1.0, and 1.0a protocols; clients \u0026 servers","url":"https://github.com/ruby-oauth/oauth","last_synced_at":"2026-04-30T04:03:20.995Z","repository":{"id":811420,"uuid":"519148","full_name":"ruby-oauth/oauth","owner":"ruby-oauth","description":"🔑 A Ruby wrapper for OAuth 1.0, and 1.0a protocols; clients \u0026 servers","archived":false,"fork":false,"pushed_at":"2026-04-06T08:13:06.000Z","size":1919,"stargazers_count":674,"open_issues_count":0,"forks_count":268,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-04-12T23:24:30.590Z","etag":null,"topics":["authentication","authorization","oauth","oauth-client","oauth-server"],"latest_commit_sha":null,"homepage":"http://oauth.galtzo.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-oauth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"pboling","community_bridge":null,"github":["pboling"],"issuehunt":"pboling","ko_fi":"pboling","liberapay":"pboling","open_collective":"ruby-oauth","patreon":"galtzo","polar":"pboling","thanks_dev":"u/gh/pboling","tidelift":"rubygems/oauth"}},"created_at":"2010-02-15T19:02:52.000Z","updated_at":"2026-04-06T08:13:08.000Z","dependencies_parsed_at":"2024-09-06T20:52:21.593Z","dependency_job_id":"87ce8488-f384-40cd-a6f0-5b8267372897","html_url":"https://github.com/ruby-oauth/oauth","commit_stats":{"total_commits":815,"total_committers":118,"mean_commits":6.906779661016949,"dds":0.7202453987730062,"last_synced_commit":"9cae5645e998f11434bc0c33dac643ae4155d573"},"previous_names":["ruby-oauth/oauth-ruby","ruby-oauth/oauth","oauth-xx/oauth-ruby"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-oauth/oauth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31753400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ruby-oauth","name":"Ruby OAuth","uuid":"40009","kind":"organization","description":"🔐 Ruby Gems for building with OAuth v1.0a, 2.0, 2.1 and OIDC","email":"floss@galtzo.com","website":"https://opencollective.com/ruby-oauth","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/40009?v=4","repositories_count":7,"last_synced_at":"2025-12-09T21:39:40.258Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-oauth","funding_links":[],"total_stars":2914,"followers":19,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2025-12-09T21:39:40.258Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth/repositories"},"packages":[{"id":12284563,"name":"oauth","ecosystem":"rubygems","description":"🔑 A Ruby wrapper for the original OAuth 1.0 / 1.0a spec.","homepage":"https://oauth.galtzo.com/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ruby-oauth/oauth","keywords_array":[],"namespace":null,"versions_count":48,"first_release_published_at":"2009-07-25T18:04:59.000Z","latest_release_published_at":"2025-11-07T02:41:43.491Z","latest_release_number":"1.1.3","last_synced_at":"2026-04-17T10:54:41.518Z","created_at":"2025-10-07T04:39:05.483Z","updated_at":"2026-04-17T12:55:49.756Z","registry_url":"https://gem.coop/gems/oauth","install_command":"gem install oauth -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/oauth/","metadata":{"funding":"https://github.com/sponsors/pboling"},"repo_metadata":{"id":811420,"uuid":"519148","full_name":"ruby-oauth/oauth","owner":"ruby-oauth","description":"🔑 A Ruby wrapper for OAuth 1.0, and 1.0a protocols; clients \u0026 servers","archived":false,"fork":false,"pushed_at":"2026-04-06T08:13:06.000Z","size":1919,"stargazers_count":674,"open_issues_count":0,"forks_count":268,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-04-12T23:24:30.590Z","etag":null,"topics":["authentication","authorization","oauth","oauth-client","oauth-server"],"latest_commit_sha":null,"homepage":"http://oauth.galtzo.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-oauth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"pboling","community_bridge":null,"github":["pboling"],"issuehunt":"pboling","ko_fi":"pboling","liberapay":"pboling","open_collective":"ruby-oauth","patreon":"galtzo","polar":"pboling","thanks_dev":"u/gh/pboling","tidelift":"rubygems/oauth"}},"created_at":"2010-02-15T19:02:52.000Z","updated_at":"2026-04-06T08:13:08.000Z","dependencies_parsed_at":"2024-09-06T20:52:21.593Z","dependency_job_id":"87ce8488-f384-40cd-a6f0-5b8267372897","html_url":"https://github.com/ruby-oauth/oauth","commit_stats":{"total_commits":815,"total_committers":118,"mean_commits":6.906779661016949,"dds":0.7202453987730062,"last_synced_commit":"9cae5645e998f11434bc0c33dac643ae4155d573"},"previous_names":["ruby-oauth/oauth-ruby","ruby-oauth/oauth","oauth-xx/oauth-ruby"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-oauth/oauth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31777350,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T00:11:49.126Z","status":"ssl_error","status_checked_at":"2026-04-14T00:10:29.837Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ruby-oauth","name":"Ruby OAuth","uuid":"40009","kind":"organization","description":"🔐 Ruby Gems for building with OAuth v1.0a, 2.0, 2.1 and OIDC","email":"floss@galtzo.com","website":"https://opencollective.com/ruby-oauth","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/40009?v=4","repositories_count":7,"last_synced_at":"2025-12-09T21:39:40.258Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-oauth","funding_links":[],"total_stars":2914,"followers":19,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2025-12-09T21:39:40.258Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth/repositories"},"tags":[{"name":"v1.1.3","sha":"d60384087958c7b416e949f989ac929c0021caab","kind":"tag","published_at":"2025-11-07T02:41:30.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"1f6d6026de2c45936537cfe743846448bd46b4ab","kind":"tag","published_at":"2025-09-22T03:02:44.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"1b7901bc8a18e80b5108efb60662164612702df1","kind":"tag","published_at":"2025-09-22T02:52:25.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"4acc7922a693b64d2e17de3f24d251cca63b7c45","kind":"tag","published_at":"2022-08-29T22:53:22.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"3e2bd0709e1851d34916d165ab0b240e4b6845cd","kind":"tag","published_at":"2022-08-29T22:49:12.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.0.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.1/manifests"},{"name":"v0.6.2","sha":"7434e774d2e17b64bdc76286b1254ade877b09cc","kind":"tag","published_at":"2022-08-29T22:23:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.6.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.2/manifests"},{"name":"v0.5.14","sha":"680396f12e26fd80114073f600eef65d02828cb8","kind":"tag","published_at":"2022-08-29T22:18:48.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.14","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.14/manifests"},{"name":"v1.0.0","sha":"df5618396a5b34a5100f7e94a987eb146720d2f3","kind":"tag","published_at":"2022-08-23T12:26:54.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.0.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.0/manifests"},{"name":"v0.6.1","sha":"f4546c37c9b8e683dff60e47bde164ca6b030d52","kind":"tag","published_at":"2022-08-23T10:29:37.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.6.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.1/manifests"},{"name":"v0.5.13","sha":"f2dc1f8b30f7a22fa6bf1975d169c312fd6680f7","kind":"tag","published_at":"2022-08-23T10:10:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.13","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.13/manifests"},{"name":"v0.5.12","sha":"2256a0dedd2516c28680ebb0bffe5a97a59c7ed0","kind":"tag","published_at":"2022-08-23T10:05:25.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.12","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.12/manifests"},{"name":"v0.5.11","sha":"edfb31ada34ffb678391904ae0d38653dc853525","kind":"tag","published_at":"2022-08-23T10:01:57.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.11","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.11/manifests"},{"name":"v0.6.0","sha":"bd834d237d055dad264d7ddd4376e42c1c6da87d","kind":"tag","published_at":"2022-08-23T08:38:58.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.6.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.0/manifests"},{"name":"v0.5.10","sha":"0f8bd1a53eda10a29e624a1001adc3352d5d12a4","kind":"tag","published_at":"2022-05-04T00:06:26.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.10","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.10/manifests"},{"name":"v0.5.9","sha":"9002b29d21a1290b71386d44a90a61c8a8d47557","kind":"tag","published_at":"2022-05-03T05:20:46.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.9","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.9/manifests"},{"name":"v0.5.8","sha":"018f1e8967464f32c779914ded13de7f3c98aa75","kind":"tag","published_at":"2021-11-10T14:19:36.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.8","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.8/manifests"},{"name":"v0.5.7","sha":"2310357137af4ee380e8713b1151f0623e7bf7e0","kind":"tag","published_at":"2021-11-02T09:50:19.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.7","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7/manifests"},{"name":"v0.5.7.pre.pre1","sha":"b0de10aeb0851b6bd359315ff6f398b4f3ee2773","kind":"tag","published_at":"2021-11-01T10:03:42.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.7.pre.pre1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.7.pre.pre1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.7.pre.pre1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7.pre.pre1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7.pre.pre1/manifests"},{"name":"v0.5.6","sha":"56a189bf12fa73bf75eb568e25237f6b7aaad48a","kind":"commit","published_at":"2021-04-02T17:06:20.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.6","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.6/manifests"},{"name":"v0.5.5","sha":"d453cee024dfd25c78df567e206b54d9eff3258c","kind":"tag","published_at":"2021-01-20T18:55:41.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.5/manifests"},{"name":"v0.5.4","sha":"20a7abc09681cc96819191b6a156690fa754fcac","kind":"commit","published_at":"2017-12-08T21:57:13.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.4/manifests"},{"name":"v0.5.3","sha":"a11909aafc72f850d1669cc7cc9fbb4af0604c8e","kind":"commit","published_at":"2017-05-24T13:12:49.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"516fc33adfc278c91798676af3c402e896a4e230","kind":"commit","published_at":"2017-05-17T18:15:18.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"8356db96152204aa43534d583b295dd633b627c8","kind":"tag","published_at":"2016-02-29T13:54:19.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"cd8712e922406b94bbf33e0a98333b42025b17d7","kind":"commit","published_at":"2016-02-20T11:14:27.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.0/manifests"},{"name":"v0.4.7","sha":"e04ce113749fce8d37660826d9530ee6058aabea","kind":"commit","published_at":"2012-09-04T00:16:33.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.7","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.7/manifests"},{"name":"v0.4.6","sha":"45f73187c81c927141efd89d5c5706493e24e87e","kind":"commit","published_at":"2012-04-21T13:56:16.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.6","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.6/manifests"},{"name":"v0.4.5","sha":"54252b5f8df42cdb55c3c06fd2649b54c3a220d2","kind":"commit","published_at":"2011-06-25T19:54:21.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.5/manifests"},{"name":"v0.4.4","sha":"744d4c5d43fcf14ac612c47101b2f6ab87305c83","kind":"commit","published_at":"2010-10-31T23:02:41.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"32b4d81a66c3c095e4ca2a095c6a28e44e23ff63","kind":"commit","published_at":"2010-09-01T16:50:01.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"8b0be77d2406b5ad39e9ecf1c1d38b6ab2865d72","kind":"commit","published_at":"2010-08-14T01:58:02.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"7a12030796f9aeb6ae46ace8a53119b164528b2d","kind":"commit","published_at":"2010-06-16T15:55:38.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"a5068a46b46b34f22238dadde3843c24bff9c3e4","kind":"commit","published_at":"2010-04-22T03:47:20.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.0/manifests"},{"name":"v0.3.7.pre1","sha":"447fe99ecc095fd6ef2ec9b4c7aa51a8fda11d23","kind":"commit","published_at":"2010-02-15T19:49:46.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.7.pre1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.7.pre1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.7.pre1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.7.pre1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.7.pre1/manifests"},{"name":"v0.3.6","sha":"d8dbd6f20a13e93e98e5bfbc23149c5b67ca8990","kind":"commit","published_at":"2009-09-14T19:06:36.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.6","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.6/manifests"},{"name":"v0.3.5.1","sha":"dd0d47216f79c23badb7da403857b567a36c9872","kind":"commit","published_at":"2009-09-09T00:26:28.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.5.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5.1/manifests"},{"name":"v0.3.5","sha":"1ec3488989a98bed22b4682f78bb25abea81edf6","kind":"commit","published_at":"2009-06-03T16:52:02.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5/manifests"},{"name":"v0.3.4.1","sha":"d5a73f7821064b678a1787c40cebbc453f02ab70","kind":"commit","published_at":"2009-05-21T00:51:14.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.4.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4.1/manifests"},{"name":"v0.3.4","sha":"6c06d9f21a0e7e85678761b9e1fc3aeef4f44ffe","kind":"commit","published_at":"2009-05-06T10:57:04.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"d1eea95df9ecb9fefee99a2eac41b4357a6e9390","kind":"commit","published_at":"2009-05-04T04:18:41.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.3/manifests"},{"name":"v0.3.2.1","sha":"dbd946790a882d91fb111ba64331de003c135872","kind":"commit","published_at":"2009-03-31T02:29:39.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.2.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2.1/manifests"},{"name":"v0.3.2","sha":"90bf2372285c878a3c09d31a4a2e571398bff2d3","kind":"commit","published_at":"2009-03-23T20:55:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2/manifests"},{"name":"v0.3.1.5","sha":"75f0245edc2485a561601a40a1c34a7d7287cc56","kind":"commit","published_at":"2009-02-05T22:09:02.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.5/manifests"},{"name":"v0.3.1.4","sha":"a1864e90f32a29b2811df32e07812636cfa22c0d","kind":"commit","published_at":"2009-02-05T20:29:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.4/manifests"},{"name":"v0.3.1.3","sha":"123fc5d5805996493fa30029daf97de187804775","kind":"commit","published_at":"2009-02-05T05:58:31.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.3/manifests"},{"name":"v0.3.1.2","sha":"d95399d7a8d4430d85e2620180f0ecafa4b3cc9a","kind":"commit","published_at":"2009-02-05T02:57:17.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.2/manifests"},{"name":"v0.3.1.1","sha":"9254d372e9fbc9520afb8b18a03571e12cbec27b","kind":"commit","published_at":"2009-02-03T23:45:06.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.1/manifests"},{"name":"v0.3.1","sha":"af01033fef86e10e8a2de8b6842fec4021388756","kind":"commit","published_at":"2009-01-26T20:27:51.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"6653f5394fc16eebd3d581e5004a44b6e16e9169","kind":"tag","published_at":"2009-01-25T23:56:28.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.0/manifests"}]},"repo_metadata_updated_at":"2026-04-17T12:55:49.729Z","dependent_packages_count":0,"downloads":159054329,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":0.16003287161687266,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":0.17408981304267904,"average":0.08353067116488792},"purl":"pkg:gem/oauth?repository_url=https://gem.coop","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/oauth","docker_dependents_count":258,"docker_downloads_count":553469045,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/oauth","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/oauth/dependencies","status":null,"funding_links":["https://github.com/sponsors/pboling","https://buymeacoffee.com/pboling","https://issuehunt.io/r/pboling","https://ko-fi.com/pboling","https://liberapay.com/pboling","https://opencollective.com/ruby-oauth","https://patreon.com/galtzo","https://polar.sh/pboling","https://thanks.dev/u/gh/pboling","https://tidelift.com/funding/github/rubygems/oauth"],"critical":null,"issue_metadata":{"last_synced_at":"2026-04-07T05:02:39.775Z","issues_count":14,"pull_requests_count":75,"avg_time_to_close_issue":6590331.909090909,"avg_time_to_close_pull_request":2218281.1805555555,"issues_closed_count":11,"pull_requests_closed_count":72,"pull_request_authors_count":8,"issue_authors_count":6,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":1.1333333333333333,"merged_pull_requests_count":39,"bot_issues_count":0,"bot_pull_requests_count":49,"past_year_issues_count":2,"past_year_pull_requests_count":19,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":128972.75,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":1.5789473684210527,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":10,"past_year_merged_pull_requests_count":16,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/issues","maintainers":[{"login":"pboling","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"}],"active_maintainers":[{"login":"pboling","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/oauth/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/oauth/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/oauth/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/oauth/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/oauth/codemeta","maintainers":[{"uuid":"509","login":"pboling","name":null,"email":null,"url":null,"packages_count":114,"html_url":"https://gem.coop/profiles/pboling","role":null,"created_at":"2025-10-08T00:59:24.386Z","updated_at":"2025-10-08T00:59:24.386Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/pboling/packages"},{"uuid":"56168","login":"xtagon","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://gem.coop/profiles/xtagon","role":null,"created_at":"2025-10-08T00:59:24.341Z","updated_at":"2025-10-08T00:59:24.341Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/xtagon/packages"}],"registry":{"name":"gem.coop","url":"https://gem.coop","ecosystem":"rubygems","default":false,"packages_count":190075,"maintainers_count":67377,"namespaces_count":0,"keywords_count":0,"github":"gem-coop","metadata":{"funded_packages_count":6507},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-04-03T06:45:05.763Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/namespaces"}},{"id":264336,"name":"oauth","ecosystem":"rubygems","description":"🔑 A Ruby wrapper for the original OAuth 1.0 / 1.0a spec.","homepage":"https://oauth.galtzo.com/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ruby-oauth/oauth","keywords_array":[],"namespace":null,"versions_count":48,"first_release_published_at":"2009-07-25T18:04:59.000Z","latest_release_published_at":"2025-11-07T02:41:43.491Z","latest_release_number":"1.1.3","last_synced_at":"2026-04-17T01:15:04.011Z","created_at":"2022-04-06T05:47:30.655Z","updated_at":"2026-04-17T12:39:15.841Z","registry_url":"https://rubygems.org/gems/oauth","install_command":"gem install oauth -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/oauth/","metadata":{"funding":"https://github.com/sponsors/pboling"},"repo_metadata":{"id":811420,"uuid":"519148","full_name":"ruby-oauth/oauth","owner":"ruby-oauth","description":"🔑 A Ruby wrapper for OAuth 1.0, and 1.0a protocols; clients \u0026 servers","archived":false,"fork":false,"pushed_at":"2026-04-02T23:05:54.000Z","size":1916,"stargazers_count":674,"open_issues_count":1,"forks_count":267,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-04-03T02:49:03.035Z","etag":null,"topics":["authentication","authorization","oauth","oauth-client","oauth-server"],"latest_commit_sha":null,"homepage":"http://oauth.galtzo.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-oauth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"pboling","community_bridge":null,"github":["pboling"],"issuehunt":"pboling","ko_fi":"pboling","liberapay":"pboling","open_collective":"ruby-oauth","patreon":"galtzo","polar":"pboling","thanks_dev":"u/gh/pboling","tidelift":"rubygems/oauth"}},"created_at":"2010-02-15T19:02:52.000Z","updated_at":"2026-04-02T23:05:59.000Z","dependencies_parsed_at":"2024-09-06T20:52:21.593Z","dependency_job_id":"87ce8488-f384-40cd-a6f0-5b8267372897","html_url":"https://github.com/ruby-oauth/oauth","commit_stats":{"total_commits":815,"total_committers":118,"mean_commits":6.906779661016949,"dds":0.7202453987730062,"last_synced_commit":"9cae5645e998f11434bc0c33dac643ae4155d573"},"previous_names":["ruby-oauth/oauth-ruby","ruby-oauth/oauth","oauth-xx/oauth-ruby"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/ruby-oauth/oauth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31456664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ruby-oauth","name":"Ruby OAuth","uuid":"40009","kind":"organization","description":"🔐 Ruby Gems for building with OAuth v1.0a, 2.0, 2.1 and OIDC","email":"floss@galtzo.com","website":"https://opencollective.com/ruby-oauth","location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/40009?v=4","repositories_count":7,"last_synced_at":"2025-12-09T21:39:40.258Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-oauth","funding_links":[],"total_stars":2914,"followers":19,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2025-12-09T21:39:40.258Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-oauth/repositories"},"tags":[{"name":"v1.1.3","sha":"d60384087958c7b416e949f989ac929c0021caab","kind":"tag","published_at":"2025-11-07T02:41:30.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"1f6d6026de2c45936537cfe743846448bd46b4ab","kind":"tag","published_at":"2025-09-22T03:02:44.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"1b7901bc8a18e80b5108efb60662164612702df1","kind":"tag","published_at":"2025-09-22T02:52:25.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"4acc7922a693b64d2e17de3f24d251cca63b7c45","kind":"tag","published_at":"2022-08-29T22:53:22.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"3e2bd0709e1851d34916d165ab0b240e4b6845cd","kind":"tag","published_at":"2022-08-29T22:49:12.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.0.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.1/manifests"},{"name":"v0.6.2","sha":"7434e774d2e17b64bdc76286b1254ade877b09cc","kind":"tag","published_at":"2022-08-29T22:23:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.6.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.2/manifests"},{"name":"v0.5.14","sha":"680396f12e26fd80114073f600eef65d02828cb8","kind":"tag","published_at":"2022-08-29T22:18:48.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.14","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.14/manifests"},{"name":"v1.0.0","sha":"df5618396a5b34a5100f7e94a987eb146720d2f3","kind":"tag","published_at":"2022-08-23T12:26:54.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.0.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.0.0/manifests"},{"name":"v0.6.1","sha":"f4546c37c9b8e683dff60e47bde164ca6b030d52","kind":"tag","published_at":"2022-08-23T10:29:37.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.6.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.1/manifests"},{"name":"v0.5.13","sha":"f2dc1f8b30f7a22fa6bf1975d169c312fd6680f7","kind":"tag","published_at":"2022-08-23T10:10:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.13","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.13/manifests"},{"name":"v0.5.12","sha":"2256a0dedd2516c28680ebb0bffe5a97a59c7ed0","kind":"tag","published_at":"2022-08-23T10:05:25.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.12","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.12/manifests"},{"name":"v0.5.11","sha":"edfb31ada34ffb678391904ae0d38653dc853525","kind":"tag","published_at":"2022-08-23T10:01:57.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.11","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.11/manifests"},{"name":"v0.6.0","sha":"bd834d237d055dad264d7ddd4376e42c1c6da87d","kind":"tag","published_at":"2022-08-23T08:38:58.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.6.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.6.0/manifests"},{"name":"v0.5.10","sha":"0f8bd1a53eda10a29e624a1001adc3352d5d12a4","kind":"tag","published_at":"2022-05-04T00:06:26.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.10","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.10/manifests"},{"name":"v0.5.9","sha":"9002b29d21a1290b71386d44a90a61c8a8d47557","kind":"tag","published_at":"2022-05-03T05:20:46.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.9","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.9/manifests"},{"name":"v0.5.8","sha":"018f1e8967464f32c779914ded13de7f3c98aa75","kind":"tag","published_at":"2021-11-10T14:19:36.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.8","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.8/manifests"},{"name":"v0.5.7","sha":"2310357137af4ee380e8713b1151f0623e7bf7e0","kind":"tag","published_at":"2021-11-02T09:50:19.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.7","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7/manifests"},{"name":"v0.5.7.pre.pre1","sha":"b0de10aeb0851b6bd359315ff6f398b4f3ee2773","kind":"tag","published_at":"2021-11-01T10:03:42.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.7.pre.pre1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.7.pre.pre1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.7.pre.pre1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7.pre.pre1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.7.pre.pre1/manifests"},{"name":"v0.5.6","sha":"56a189bf12fa73bf75eb568e25237f6b7aaad48a","kind":"commit","published_at":"2021-04-02T17:06:20.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.6","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.6/manifests"},{"name":"v0.5.5","sha":"d453cee024dfd25c78df567e206b54d9eff3258c","kind":"tag","published_at":"2021-01-20T18:55:41.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.5/manifests"},{"name":"v0.5.4","sha":"20a7abc09681cc96819191b6a156690fa754fcac","kind":"commit","published_at":"2017-12-08T21:57:13.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.4/manifests"},{"name":"v0.5.3","sha":"a11909aafc72f850d1669cc7cc9fbb4af0604c8e","kind":"commit","published_at":"2017-05-24T13:12:49.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.3/manifests"},{"name":"v0.5.2","sha":"516fc33adfc278c91798676af3c402e896a4e230","kind":"commit","published_at":"2017-05-17T18:15:18.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"8356db96152204aa43534d583b295dd633b627c8","kind":"tag","published_at":"2016-02-29T13:54:19.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"cd8712e922406b94bbf33e0a98333b42025b17d7","kind":"commit","published_at":"2016-02-20T11:14:27.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.5.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.5.0/manifests"},{"name":"v0.4.7","sha":"e04ce113749fce8d37660826d9530ee6058aabea","kind":"commit","published_at":"2012-09-04T00:16:33.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.7","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.7/manifests"},{"name":"v0.4.6","sha":"45f73187c81c927141efd89d5c5706493e24e87e","kind":"commit","published_at":"2012-04-21T13:56:16.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.6","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.6/manifests"},{"name":"v0.4.5","sha":"54252b5f8df42cdb55c3c06fd2649b54c3a220d2","kind":"commit","published_at":"2011-06-25T19:54:21.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.5/manifests"},{"name":"v0.4.4","sha":"744d4c5d43fcf14ac612c47101b2f6ab87305c83","kind":"commit","published_at":"2010-10-31T23:02:41.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"32b4d81a66c3c095e4ca2a095c6a28e44e23ff63","kind":"commit","published_at":"2010-09-01T16:50:01.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"8b0be77d2406b5ad39e9ecf1c1d38b6ab2865d72","kind":"commit","published_at":"2010-08-14T01:58:02.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"7a12030796f9aeb6ae46ace8a53119b164528b2d","kind":"commit","published_at":"2010-06-16T15:55:38.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"a5068a46b46b34f22238dadde3843c24bff9c3e4","kind":"commit","published_at":"2010-04-22T03:47:20.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.4.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.4.0/manifests"},{"name":"v0.3.7.pre1","sha":"447fe99ecc095fd6ef2ec9b4c7aa51a8fda11d23","kind":"commit","published_at":"2010-02-15T19:49:46.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.7.pre1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.7.pre1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.7.pre1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.7.pre1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.7.pre1/manifests"},{"name":"v0.3.6","sha":"d8dbd6f20a13e93e98e5bfbc23149c5b67ca8990","kind":"commit","published_at":"2009-09-14T19:06:36.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.6","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.6/manifests"},{"name":"v0.3.5.1","sha":"dd0d47216f79c23badb7da403857b567a36c9872","kind":"commit","published_at":"2009-09-09T00:26:28.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.5.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5.1/manifests"},{"name":"v0.3.5","sha":"1ec3488989a98bed22b4682f78bb25abea81edf6","kind":"commit","published_at":"2009-06-03T16:52:02.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.5/manifests"},{"name":"v0.3.4.1","sha":"d5a73f7821064b678a1787c40cebbc453f02ab70","kind":"commit","published_at":"2009-05-21T00:51:14.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.4.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4.1/manifests"},{"name":"v0.3.4","sha":"6c06d9f21a0e7e85678761b9e1fc3aeef4f44ffe","kind":"commit","published_at":"2009-05-06T10:57:04.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"d1eea95df9ecb9fefee99a2eac41b4357a6e9390","kind":"commit","published_at":"2009-05-04T04:18:41.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.3/manifests"},{"name":"v0.3.2.1","sha":"dbd946790a882d91fb111ba64331de003c135872","kind":"commit","published_at":"2009-03-31T02:29:39.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.2.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2.1/manifests"},{"name":"v0.3.2","sha":"90bf2372285c878a3c09d31a4a2e571398bff2d3","kind":"commit","published_at":"2009-03-23T20:55:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.2/manifests"},{"name":"v0.3.1.5","sha":"75f0245edc2485a561601a40a1c34a7d7287cc56","kind":"commit","published_at":"2009-02-05T22:09:02.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.5/manifests"},{"name":"v0.3.1.4","sha":"a1864e90f32a29b2811df32e07812636cfa22c0d","kind":"commit","published_at":"2009-02-05T20:29:52.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.4/manifests"},{"name":"v0.3.1.3","sha":"123fc5d5805996493fa30029daf97de187804775","kind":"commit","published_at":"2009-02-05T05:58:31.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.3","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.3/manifests"},{"name":"v0.3.1.2","sha":"d95399d7a8d4430d85e2620180f0ecafa4b3cc9a","kind":"commit","published_at":"2009-02-05T02:57:17.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.2","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.2/manifests"},{"name":"v0.3.1.1","sha":"9254d372e9fbc9520afb8b18a03571e12cbec27b","kind":"commit","published_at":"2009-02-03T23:45:06.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1.1/manifests"},{"name":"v0.3.1","sha":"af01033fef86e10e8a2de8b6842fec4021388756","kind":"commit","published_at":"2009-01-26T20:27:51.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.1","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"6653f5394fc16eebd3d581e5004a44b6e16e9169","kind":"tag","published_at":"2009-01-25T23:56:28.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v0.3.0","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v0.3.0/manifests"}]},"repo_metadata_updated_at":"2026-04-17T01:15:03.964Z","dependent_packages_count":610,"downloads":159031917,"downloads_period":"total","dependent_repos_count":33541,"rankings":{"downloads":0.1544362797025011,"dependent_repos_count":0.18342792787769985,"dependent_packages_count":0.0735941838293507,"stargazers_count":2.235702099664366,"forks_count":1.600115966592701,"docker_downloads_count":0.21241957605289857,"average":0.7432826722865862},"purl":"pkg:gem/oauth","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTczNTktM2M2ci1oZmMy","url":"https://github.com/advisories/GHSA-7359-3c6r-hfc2","title":"Improper Certificate Validation in oauth ruby gem","description":"lib/oauth/consumer.rb in the oauth-ruby gem through 0.5.4 for Ruby does not verify server X.509 certificates if a certificate bundle cannot be found, which allows man-in-the-middle attackers to spoof servers and obtain sensitive information.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-04-22T16:22:15.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.4,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-11086","https://github.com/oauth-xx/oauth-ruby/issues/137","https://github.com/oauth-xx/oauth-ruby/commit/eb5b00a91d4ef0899082fdba929c34ccad6d4ccb","https://github.com/oauth-xx/oauth-ruby/releases/tag/v0.5.5","https://rubygems.org/gems/oauth","https://github.com/advisories/GHSA-7359-3c6r-hfc2"],"source_kind":"github","identifiers":["GHSA-7359-3c6r-hfc2","CVE-2016-11086"],"repository_url":"https://github.com/oauth-xx/oauth-ruby","blast_radius":0.0,"created_at":"2022-12-21T16:13:06.797Z","updated_at":"2026-04-17T12:10:55.967Z","epss_percentage":0.00112,"epss_percentile":0.30323,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTczNTktM2M2ci1oZmMy","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTczNTktM2M2ci1oZmMy","packages":[{"ecosystem":"rubygems","package_name":"oauth","versions":[{"first_patched_version":"0.5.5","vulnerable_version_range":"\u003c 0.5.5"}],"purl":"pkg:gem/oauth","statistics":{"dependent_packages_count":610,"dependent_repos_count":33541,"downloads":158965026,"downloads_period":"total"},"affected_versions":["0.1.1","0.2.0","0.2.1","0.2.2","0.2.4","0.2.6","0.2.7","0.3.0","0.3.1","0.3.2","0.3.3","0.3.4","0.3.5","0.3.6","0.3.7.pre1","0.4.0","0.4.1","0.4.2","0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4"],"unaffected_versions":["0.5.5","0.5.6","0.5.7","0.5.7.pre.pre1","0.5.8","0.5.9","0.5.10","0.5.11","0.5.12","0.5.13","0.5.14","0.6.0","0.6.1","0.6.2","1.0.0","1.0.1","1.1.0","1.1.1","1.1.2","1.1.3"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTczNTktM2M2ci1oZmMy/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/oauth","docker_dependents_count":258,"docker_downloads_count":553469045,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/oauth","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/oauth/dependencies","status":null,"funding_links":["https://github.com/sponsors/pboling","https://buymeacoffee.com/pboling","https://issuehunt.io/r/pboling","https://ko-fi.com/pboling","https://liberapay.com/pboling","https://opencollective.com/ruby-oauth","https://patreon.com/galtzo","https://polar.sh/pboling","https://thanks.dev/u/gh/pboling","https://tidelift.com/funding/github/rubygems/oauth"],"critical":true,"issue_metadata":{"last_synced_at":"2026-04-07T05:02:39.775Z","issues_count":14,"pull_requests_count":75,"avg_time_to_close_issue":6590331.909090909,"avg_time_to_close_pull_request":2218281.1805555555,"issues_closed_count":11,"pull_requests_closed_count":72,"pull_request_authors_count":8,"issue_authors_count":6,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":1.1333333333333333,"merged_pull_requests_count":39,"bot_issues_count":0,"bot_pull_requests_count":49,"past_year_issues_count":2,"past_year_pull_requests_count":19,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":128972.75,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":1.5789473684210527,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":10,"past_year_merged_pull_requests_count":16,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/issues","maintainers":[{"login":"pboling","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"}],"active_maintainers":[{"login":"pboling","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth/codemeta","maintainers":[{"uuid":"509","login":"pboling","name":null,"email":null,"url":null,"packages_count":115,"html_url":"https://rubygems.org/profiles/pboling","role":null,"created_at":"2022-11-09T09:43:16.714Z","updated_at":"2022-11-09T09:43:16.714Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/pboling/packages"},{"uuid":"56168","login":"xtagon","name":null,"email":null,"url":null,"packages_count":7,"html_url":"https://rubygems.org/profiles/xtagon","role":null,"created_at":"2022-11-09T09:43:16.671Z","updated_at":"2022-11-09T09:43:16.671Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/xtagon/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":205224,"maintainers_count":68368,"namespaces_count":0,"keywords_count":0,"github":"rubygems","metadata":{"funded_packages_count":7260},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-04-03T06:42:17.024Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}}],"commits":{"id":10488738,"full_name":"ruby-oauth/oauth","default_branch":"main","total_commits":915,"total_committers":119,"total_bot_commits":50,"total_bot_committers":2,"mean_commits":7.689075630252101,"dds":0.687431693989071,"past_year_total_commits":96,"past_year_total_committers":6,"past_year_total_bot_commits":32,"past_year_total_bot_committers":1,"past_year_mean_commits":16.0,"past_year_dds":0.39583333333333337,"last_synced_at":"2026-04-15T21:39:15.488Z","last_synced_commit":"4460fca1d09744a3f90ae5acf84bd23b9db95adf","created_at":"2025-06-28T12:36:07.221Z","updated_at":"2026-04-15T21:31:55.795Z","committers":[{"name":"Peter Boling","email":"peter.boling@gmail.com","login":"pboling","count":286},{"name":"Seth Fitzsimmons","email":"seth@mojodna.net","login":"mojodna","count":138},{"name":"Pelle Braendgaard","email":"pelleb@gmail.com","login":"pelle","count":56},{"name":"James Pinto","email":"thejamespinto@gmail.com","login":"ch1ago","count":48},{"name":"Aaron Quint","email":"aaron@quirkey.com","login":"quirkey","count":47},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":41},{"name":"Michal Papis","email":"mpapis@gmail.com","login":"mpapis","count":15},{"name":"Khem","email":"kveasna@gmail.com","login":"galois17","count":14},{"name":"Aidan Feldman","email":"aidan@jux.com","login":"afeld","count":11},{"name":"depfu[bot]","email":"23717796+depfu[bot]","login":"depfu[bot]","count":9},{"name":"Bill Kocik","email":"bkocik@gmail.com","login":"bkocik","count":9},{"name":"Greg Weber","email":"greg@grubtop.(none)","login":null,"count":9},{"name":"Kevin Hughes","email":"kevin.hughes@shopify.com","login":null,"count":9},{"name":"Matt Sanford","email":"matt@twitter.com","login":null,"count":9},{"name":"ecavazos","email":"ejcavazos@gmail.com","login":"ecavazos","count":8},{"name":"andrehjr","email":"andrehjr@gmail.com","login":"andrehjr","count":7},{"name":"Neill Pearman","email":"neill@oobuntoo.(none)","login":null,"count":7},{"name":"Laszlo Bacsi","email":"lackac@lackac.hu","login":"lackac","count":6},{"name":"tsailipu","email":"tsailipu@yahoo.com","login":null,"count":6},{"name":"Charlie Somerville","email":"charlie@charlie.bz","login":null,"count":6},{"name":"Agora@Ubuntu-dev","email":"filter@agora-security.com","login":null,"count":6},{"name":"Darcy Laycock","email":"sutto@sutto.net","login":"Sutto","count":5},{"name":"Sam Jewell","email":"sam@bridge-u.com","login":"samjewell","count":4},{"name":"Justin Workman","email":"xtagon@gmail.com","login":"xtagon","count":4},{"name":"Chuck Remes","email":"git@chuckremes.com","login":"chuckremes","count":4},{"name":"Nick Morgan","email":"nick@outstand.com","login":null,"count":4},{"name":"Philip (flip) Kromer","email":"flip@infochimps.org","login":null,"count":4},{"name":"jremmen","email":"jkremmen@gmail.com","login":"jremmen","count":4},{"name":"raeno","email":"just.raeno@gmail.com","login":"raeno","count":4},{"name":"Annibelle Boling","email":"annibelle.boling@gmail.com","login":"Aboling0","count":4},{"name":"Nicholas Souphandavong","email":"nicholas.souphandavong@autodesk.com","login":"souphan-adsk","count":4},{"name":"Confiks","email":"confiks@scriptbase.org","login":"confiks","count":3},{"name":"shalvah","email":"diakon.ng@gmail.com","login":"shalvah","count":3},{"name":"Shaliko Usubov","email":"shaliko@ezid.ru","login":"shaliko","count":3},{"name":"Hannes Tydén","email":"hannes@soundcloud.com","login":null,"count":3},{"name":"Jakub Kuźma","email":"qoobaa@gmail.com","login":null,"count":3},{"name":"Tilmann Singer","email":"tils@tils.net","login":"til","count":3},{"name":"Howard Yeh","email":"hayeah@gmail.com","login":"hayeah","count":2},{"name":"Jeff Siegel","email":"jdsiegel@gmail.com","login":"jdsiegel","count":2},{"name":"Jeremy Sioui","email":"jeremy.sioui@gmail.com","login":"JeremySioui","count":2},{"name":"Eric Hartmann","email":"hartmann.eric@gmail.com","login":"ehartmann","count":2},{"name":"David Varga","email":"d.varga@instructure.com","login":"davefej","count":2},{"name":"Clif Reeder","email":"clifreeder@gmail.com","login":"clifff","count":2},{"name":"Chris Mear","email":"chris@feedmechocolate.com","login":"chrismear","count":2},{"name":"Brian John","email":"brian@brianjohn.com","login":"f1sherman","count":2},{"name":"Jimmy Zimmerman","email":"jimmy.zimmerman@gmail.com","login":"jimmyz","count":2},{"name":"Jonathon M. Abbott","email":"jma@dandaraga.net","login":"JonathonMA","count":2},{"name":"Ondrej Prazak","email":"oprazak@redhat.com","login":null,"count":2},{"name":"Yoan Blanc","email":"yoanblanc@77-56-205-101.dclient.hispeed.ch","login":null,"count":2},{"name":"Yoan Blanc","email":"yoanblanc@MB-Yoan.local","login":null,"count":2},{"name":"Danil Vlasov","email":"danil.vlasov@ecommerce.com","login":null,"count":2},{"name":"iamibi","email":"ibrahim@poshmark.com","login":null,"count":2},{"name":"r-stu31","email":"r.stu3.1@googlemail.com","login":"oldgreen","count":2},{"name":"kellan@pobox.com","email":"kellan@pobox.com","login":"kellan","count":2},{"name":"Juris Galang","email":"jurisgalang@gmail.com","login":"jurisgalang","count":2},{"name":"Pavel Lobashov","email":"shockwavenn@gmail.com","login":"ShockwaveNN","count":2},{"name":"Richard Vowles","email":"richard@bluetrainsoftware.com","login":"rvowles","count":2},{"name":"Shohei Maeda","email":"irt_m.jrsyo@ntworkers.com","login":"smaeda-ks","count":2},{"name":"Steven Hammond","email":"shammond@northpub.com","login":"shammond42","count":2},{"name":"Xavier Shay","email":"xavier@rhnh.net","login":"xaviershay","count":2},{"name":"Yvonne","email":"yvonne@moneybird.com","login":"yvonnenieuwerth","count":2},{"name":"goutham","email":"gouthamvel@gmail.com","login":"gouthamvel","count":2},{"name":"Akira Matsuda","email":"ronnie@dio.jp","login":"amatsuda","count":2},{"name":"Brian Finney","email":"bri+git@nfinney.com","login":"yenif","count":2},{"name":"Steven Parkes","email":"smparkes@smparkes.net","login":"smparkes","count":1},{"name":"Matt Wood","email":"mdwood75@gmail.com","login":"elmatterino","count":1},{"name":"Brett Gibson","email":"brett@brett.gateway.2wire.net","login":null,"count":1},{"name":"Bill Kocik","email":"bkocik@Macintosh-5.local","login":null,"count":1},{"name":"Arthur Nogueira Neves","email":"github@arthurnn.com","login":null,"count":1},{"name":"Josh J.","email":"josh@grafikchaos.com","login":null,"count":1},{"name":"Thiago Arrais","email":"thiago@gilbertogil.(none)","login":null,"count":1},{"name":"Seth Cousins","email":"seth@owl.(none)","login":null,"count":1},{"name":"Scott Hill","email":"git@stmpjmpr.com","login":null,"count":1},{"name":"Roger Smith","email":"roger@sugarcrm.com","login":null,"count":1},{"name":"Rob Ares","email":"rob.ares@gmail.com","login":null,"count":1},{"name":"Michael Reinsch","email":"michael@mobalean.com","login":null,"count":1},{"name":"Tom Insam","email":"Tom Insam tom@jerakeen.org","login":null,"count":1},{"name":"Tristan Groléat","email":"twisterss@github.com","login":null,"count":1},{"name":"Sergio Gil","email":"sgilperez@gmail.com","login":"porras","count":1},{"name":"Sean Cribbs","email":"sean@basho.com","login":"seancribbs","count":1},{"name":"Robert Reiz","email":"robert.reiz.81@gmail.com","login":"reiz","count":1},{"name":"Richard Huang","email":"flyerhzm@gmail.com","login":"flyerhzm","count":1},{"name":"Nik Wakelin","email":"me@nikwakelin.com","login":"nikz","count":1},{"name":"Michael Scrivo","email":"michael.scrivo@affinity.co","login":"mscrivo","count":1},{"name":"Mattias Petter Johansson","email":"mpj@mpj.me","login":"mpj","count":1},{"name":"autobolt","email":"autobots@9thbit.net","login":"autobolt","count":1},{"name":"chadisfaction","email":"spidernickel@gmail.com","login":"chadisfaction","count":1},{"name":"choonkeat","email":"choonkeat@gmail.com","login":"choonkeat","count":1},{"name":"ichverstehe","email":"harry@vangberg.name","login":"vangberg","count":1},{"name":"midchildan","email":"midchildan+git@gmail.com","login":"midchildan","count":1},{"name":"rick","email":"technoweenie@gmail.com","login":"technoweenie","count":1},{"name":"Harald Sitter","email":"sitter@kde.org","login":"hsitter","count":1},{"name":"Hans de Graaff","email":"hans@degraaff.org","login":"graaff","count":1},{"name":"Felix Bünemann","email":"buenemann@louis.info","login":"felixbuenemann","count":1},{"name":"Evan Arnold","email":"evan.arnold@gmail.com","login":"evdevdev","count":1},{"name":"Ernie Miller","email":"ernie@erniemiller.org","login":"ernie","count":1},{"name":"Eric True","email":"erictrue@spazquest.org","login":"spazquest","count":1},{"name":"Craig Walker","email":"github@softcraft.ca","login":"softcraft-development","count":1},{"name":"Chad Feller","email":"feller@unr.edu","login":"cfeller","count":1},{"name":"Anton Panasenko","email":"anton.panasenko@gmail.com","login":"dieu","count":1},{"name":"Ankur Sethi","email":"ankursethi108@gmail.com","login":"amalagaura","count":1},{"name":"Anders Conbere","email":"aconbere@gmail.com","login":"aconbere","count":1},{"name":"Ian Taylor","email":"ibtaylor@gmail.com","login":"ibtaylor","count":1},{"name":"Jakub Suder","email":"jakub.suder@gmail.com","login":"mackuba","count":1},{"name":"Jon Crosby","email":"jon.r.crosby@gmail.com","login":"jcrosby","count":1},{"name":"Jonathan Camenisch","email":"jcamenisch","login":"jcamenisch","count":1},{"name":"Joshua Hull","email":"joshbuddy@gmail.com","login":"joshbuddy","count":1},{"name":"Khaja Minhajuddin","email":"minhajuddin.k@gmail.com","login":"minhajuddin","count":1},{"name":"Kim Ahlström","email":"kim.ahlstrom@gmail.com","login":"Kimtaro","count":1},{"name":"Lars Kanis","email":"lars@greiz-reinsdorf.de","login":"larskanis","count":1},{"name":"Marcos Wright Kuhns","email":"metavida@hotmail.com","login":"metavida","count":1},{"name":"Marsh Gardiner","email":"marsh@earth2marsh.com","login":"earth2marsh","count":1},{"name":"Marshall Huss","email":"mwhuss@gmail.com","login":"mwhuss","count":1},{"name":"will bailey","email":"will@corp.zenbe.com","login":null,"count":1},{"name":"niedhui","email":"dianhui.nie@gmail.com","login":null,"count":1},{"name":"jianben","email":"jianben@alibaba-inc.com","login":null,"count":1},{"name":"Yu-Shan Fung","email":"yfung@yu-shan-fungs-macbook-pro.local","login":null,"count":1},{"name":"Winston Tsang","email":"wtsang@anansi.gateway.2wire.net","login":null,"count":1},{"name":"成田 一生","email":"mimitako@gmail.com","login":"mirakui","count":1}],"past_year_committers":[{"name":"Peter H. Boling","email":"peter.boling@gmail.com","login":"pboling","count":58},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":32},{"name":"Aboling0","email":"142766788+Aboling0","login":"Aboling0","count":2},{"name":"David Varga","email":"d.varga@instructure.com","login":"davefej","count":2},{"name":"autobolt","email":"autobots@9thbit.net","login":"autobolt","count":1},{"name":"Khem","email":"kveasna@gmail.com","login":"galois17","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:13.716Z","repositories_count":6214403,"commits_count":900569839,"contributors_count":34925264,"owners_count":1144542,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ruby-oauth/oauth","html_url":"https://github.com/ruby-oauth/oauth","last_synced_at":"2026-04-07T05:02:39.775Z","status":"active","issues_count":14,"pull_requests_count":75,"avg_time_to_close_issue":6590331.909090909,"avg_time_to_close_pull_request":2218281.1805555555,"issues_closed_count":11,"pull_requests_closed_count":72,"pull_request_authors_count":8,"issue_authors_count":6,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":1.1333333333333333,"merged_pull_requests_count":39,"bot_issues_count":0,"bot_pull_requests_count":49,"past_year_issues_count":2,"past_year_pull_requests_count":19,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":128972.75,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":16,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":1.5789473684210527,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":10,"past_year_merged_pull_requests_count":16,"created_at":"2025-06-28T12:36:13.718Z","updated_at":"2026-04-07T05:02:39.775Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/issues","issue_labels_count":{"Documentation":2,"Tests needed":1,"Breaking CI":1,"Feedback needed":1,"dependencies":1},"pull_request_labels_count":{"dependencies":36,"depfu":14,"github_actions":5,"ruby":5,"Breaking CI":1},"issue_author_associations_count":{"MEMBER":9,"NONE":4,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":53,"MEMBER":20,"NONE":2},"issue_authors":{"pboling":9,"archana-codezen":1,"MrSerth":1,"JamesChevalier":1,"chuckremes":1,"micwoj92":1},"pull_request_authors":{"dependabot[bot]":35,"pboling":20,"depfu[bot]":14,"JamesChevalier":2,"Aboling0":1,"davefej":1,"shalvah":1,"chuckremes":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-17T00:00:09.649Z","repositories_count":14299569,"issues_count":34552259,"pull_requests_count":113095999,"authors_count":11237034,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":10,"github_actions":5,"ruby":5},"past_year_issue_author_associations_count":{"NONE":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":11,"MEMBER":8},"past_year_issue_authors":{"micwoj92":1,"MrSerth":1},"past_year_pull_request_authors":{"dependabot[bot]":10,"pboling":8,"davefej":1},"maintainers":[{"login":"pboling","count":29,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"}],"active_maintainers":[{"login":"pboling","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"}]},"events":{"total":{"ReleaseEvent":3,"DeleteEvent":10,"PullRequestEvent":23,"ForkEvent":1,"IssuesEvent":4,"IssueCommentEvent":29,"PushEvent":37,"PullRequestReviewEvent":6,"CreateEvent":11},"last_year":{"ReleaseEvent":3,"DeleteEvent":10,"PullRequestEvent":23,"ForkEvent":1,"IssuesEvent":4,"IssueCommentEvent":29,"PushEvent":37,"PullRequestReviewEvent":6,"CreateEvent":11}},"keywords":["authentication","authorization","oauth","oauth-client","oauth-server"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-07-05T16:32:03.612Z","updated_at":"2022-07-05T16:32:03.612Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/Gemfile","dependencies":[{"id":106434240,"package_name":"danger","ecosystem":"rubygems","requirements":"~\u003e 8.4","direct":true,"kind":"runtime","optional":false},{"id":106434241,"package_name":"overcommit","ecosystem":"rubygems","requirements":"~\u003e 0.58","direct":true,"kind":"runtime","optional":false},{"id":106434242,"package_name":"rubocop-faker","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434243,"package_name":"rubocop-md","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434244,"package_name":"rubocop-minitest","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434245,"package_name":"rubocop-packaging","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434246,"package_name":"rubocop-performance","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434247,"package_name":"rubocop-rake","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434248,"package_name":"rubocop-thread_safety","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434249,"package_name":"codecov","ecosystem":"rubygems","requirements":"~\u003e 0.6","direct":true,"kind":"runtime","optional":false},{"id":106434250,"package_name":"simplecov","ecosystem":"rubygems","requirements":"~\u003e 0.21","direct":true,"kind":"runtime","optional":false},{"id":106434251,"package_name":"simplecov-cobertura","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434252,"package_name":"simplecov-json","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434253,"package_name":"simplecov-lcov","ecosystem":"rubygems","requirements":"~\u003e 0.8","direct":true,"kind":"runtime","optional":false},{"id":106434254,"package_name":"byebug","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434255,"package_name":"pry-byebug","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434256,"package_name":"pry-debugger-jruby","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"runtime","optional":false},{"id":106434257,"package_name":"github-markup","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":106434258,"package_name":"redcarpet","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":106434259,"package_name":"yard","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"oauth.gemspec","sha":null,"kind":"manifest","created_at":"2022-07-05T16:32:03.657Z","updated_at":"2022-07-05T16:32:03.657Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/oauth.gemspec","dependencies":[{"id":106435437,"package_name":"em-http-request","ecosystem":"rubygems","requirements":"~\u003e 1.1.7","direct":true,"kind":"development","optional":false},{"id":106435438,"package_name":"iconv","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":106435439,"package_name":"minitest","ecosystem":"rubygems","requirements":"~\u003e 5.15.0","direct":true,"kind":"development","optional":false},{"id":106435440,"package_name":"mocha","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":106435441,"package_name":"rack","ecosystem":"rubygems","requirements":"~\u003e 2.0","direct":true,"kind":"development","optional":false},{"id":106435442,"package_name":"rack-test","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":106435443,"package_name":"rake","ecosystem":"rubygems","requirements":"~\u003e 13.0","direct":true,"kind":"development","optional":false},{"id":106435444,"package_name":"rest-client","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":106435445,"package_name":"rubocop-lts","ecosystem":"rubygems","requirements":"~\u003e 12.0","direct":true,"kind":"development","optional":false},{"id":106435446,"package_name":"typhoeus","ecosystem":"rubygems","requirements":"\u003e= 0.1.13","direct":true,"kind":"development","optional":false},{"id":106435447,"package_name":"webmock","ecosystem":"rubygems","requirements":"\u003c= 3.14.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql-analysis.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T11:00:46.199Z","updated_at":"2024-06-18T11:00:46.199Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/.github/workflows/codeql-analysis.yml","dependencies":[{"id":18674585492,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18674585493,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18674585494,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18674585495,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/coverage.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T11:00:46.439Z","updated_at":"2024-06-18T11:00:46.439Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/.github/workflows/coverage.yml","dependencies":[{"id":18674585496,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18674585497,"package_name":"amancevice/setup-code-climate","ecosystem":"actions","requirements":"v0","direct":true,"kind":"composite","optional":false},{"id":18674585498,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":18674585499,"package_name":"irongut/CodeCoverageSummary","ecosystem":"actions","requirements":"v1.2.0","direct":true,"kind":"composite","optional":false},{"id":18674585500,"package_name":"marocchino/sticky-pull-request-comment","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18674585501,"package_name":"coverallsapp/github-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/heads.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T11:00:46.851Z","updated_at":"2024-06-18T11:00:46.851Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/.github/workflows/heads.yml","dependencies":[{"id":18674585502,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18674585503,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/macos.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T11:00:47.400Z","updated_at":"2024-06-18T11:00:47.400Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/.github/workflows/macos.yml","dependencies":[{"id":18674585504,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18674585505,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/style.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T11:00:47.670Z","updated_at":"2024-06-18T11:00:47.670Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/.github/workflows/style.yml","dependencies":[{"id":18674585506,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18674585507,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/supported.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T11:00:48.048Z","updated_at":"2024-06-18T11:00:48.048Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/.github/workflows/supported.yml","dependencies":[{"id":18674585508,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18674585509,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/windows.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T11:00:48.798Z","updated_at":"2024-06-18T11:00:48.798Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/.github/workflows/windows.yml","dependencies":[{"id":18674585510,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18674585511,"package_name":"ruby/setup-ruby","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2024-06-18T11:00:49.258Z","updated_at":"2024-06-18T11:00:49.258Z","repository_link":"https://github.com/ruby-oauth/oauth/blob/main/Gemfile.lock","dependencies":[{"id":18674585512,"package_name":"oauth","ecosystem":"rubygems","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":18674585513,"package_name":"addressable","ecosystem":"rubygems","requirements":"2.8.1","direct":false,"kind":"runtime","optional":false},{"id":18674585514,"package_name":"ast","ecosystem":"rubygems","requirements":"2.4.2","direct":false,"kind":"runtime","optional":false},{"id":18674585515,"package_name":"byebug","ecosystem":"rubygems","requirements":"11.1.3","direct":false,"kind":"runtime","optional":false},{"id":18674585516,"package_name":"childprocess","ecosystem":"rubygems","requirements":"4.1.0","direct":false,"kind":"runtime","optional":false},{"id":18674585517,"package_name":"codecov","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":18674585518,"package_name":"coderay","ecosystem":"rubygems","requirements":"1.1.3","direct":false,"kind":"runtime","optional":false},{"id":18674585519,"package_name":"cookiejar","ecosystem":"rubygems","requirements":"0.3.3","direct":false,"kind":"runtime","optional":false},{"id":18674585520,"package_name":"crack","ecosystem":"rubygems","requirements":"0.4.5","direct":false,"kind":"runtime","optional":false},{"id":18674585521,"package_name":"curb","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":18674585522,"package_name":"docile","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":18674585523,"package_name":"domain_name","ecosystem":"rubygems","requirements":"0.5.20190701","direct":false,"kind":"runtime","optional":false},{"id":18674585524,"package_name":"em-http-request","ecosystem":"rubygems","requirements":"1.1.7","direct":false,"kind":"runtime","optional":false},{"id":18674585525,"package_name":"em-socksify","ecosystem":"rubygems","requirements":"0.3.2","direct":false,"kind":"runtime","optional":false},{"id":18674585526,"package_name":"ethon","ecosystem":"rubygems","requirements":"0.15.0","direct":false,"kind":"runtime","optional":false},{"id":18674585527,"package_name":"eventmachine","ecosystem":"rubygems","requirements":"1.2.7","direct":false,"kind":"runtime","optional":false},{"id":18674585528,"package_name":"ffi","ecosystem":"rubygems","requirements":"1.15.5","direct":false,"kind":"runtime","optional":false},{"id":18674585529,"package_name":"github-markup","ecosystem":"rubygems","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":18674585530,"package_name":"hashdiff","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":18674585531,"package_name":"hashie","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":18674585532,"package_name":"http-accept","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":18674585533,"package_name":"http-cookie","ecosystem":"rubygems","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":18674585534,"package_name":"http_parser.rb","ecosystem":"rubygems","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":18674585535,"package_name":"iconv","ecosystem":"rubygems","requirements":"1.0.8","direct":false,"kind":"runtime","optional":false},{"id":18674585536,"package_name":"iniparse","ecosystem":"rubygems","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":18674585537,"package_name":"json","ecosystem":"rubygems","requirements":"2.6.2","direct":false,"kind":"runtime","optional":false},{"id":18674585538,"package_name":"method_source","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":18674585539,"package_name":"mime-types","ecosystem":"rubygems","requirements":"3.4.1","direct":false,"kind":"runtime","optional":false},{"id":18674585540,"package_name":"mime-types-data","ecosystem":"rubygems","requirements":"3.2022.0105","direct":false,"kind":"runtime","optional":false},{"id":18674585541,"package_name":"minitest","ecosystem":"rubygems","requirements":"5.15.0","direct":false,"kind":"runtime","optional":false},{"id":18674585542,"package_name":"mocha","ecosystem":"rubygems","requirements":"1.14.0","direct":false,"kind":"runtime","optional":false},{"id":18674585543,"package_name":"netrc","ecosystem":"rubygems","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":18674585544,"package_name":"oauth-tty","ecosystem":"rubygems","requirements":"1.0.3","direct":false,"kind":"runtime","optional":false},{"id":18674585545,"package_name":"overcommit","ecosystem":"rubygems","requirements":"0.59.1","direct":false,"kind":"runtime","optional":false},{"id":18674585546,"package_name":"parallel","ecosystem":"rubygems","requirements":"1.22.1","direct":false,"kind":"runtime","optional":false},{"id":18674585547,"package_name":"parser","ecosystem":"rubygems","requirements":"3.1.2.1","direct":false,"kind":"runtime","optional":false},{"id":18674585548,"package_name":"pry","ecosystem":"rubygems","requirements":"0.14.1","direct":false,"kind":"runtime","optional":false},{"id":18674585549,"package_name":"pry-byebug","ecosystem":"rubygems","requirements":"3.10.1","direct":false,"kind":"runtime","optional":false},{"id":18674585550,"package_name":"public_suffix","ecosystem":"rubygems","requirements":"5.0.0","direct":false,"kind":"runtime","optional":false},{"id":18674585551,"package_name":"rack","ecosystem":"rubygems","requirements":"2.2.4","direct":false,"kind":"runtime","optional":false},{"id":18674585552,"package_name":"rack-test","ecosystem":"rubygems","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":18674585553,"package_name":"rainbow","ecosystem":"rubygems","requirements":"3.1.1","direct":false,"kind":"runtime","optional":false},{"id":18674585554,"package_name":"rake","ecosystem":"rubygems","requirements":"13.0.6","direct":false,"kind":"runtime","optional":false},{"id":18674585555,"package_name":"redcarpet","ecosystem":"rubygems","requirements":"3.5.1","direct":false,"kind":"runtime","optional":false},{"id":18674585556,"package_name":"regexp_parser","ecosystem":"rubygems","requirements":"2.5.0","direct":false,"kind":"runtime","optional":false},{"id":18674585557,"package_name":"rest-client","ecosystem":"rubygems","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":18674585558,"package_name":"rexml","ecosystem":"rubygems","requirements":"3.2.5","direct":false,"kind":"runtime","optional":false},{"id":18674585559,"package_name":"rubocop","ecosystem":"rubygems","requirements":"1.30.1","direct":false,"kind":"runtime","optional":false},{"id":18674585560,"package_name":"rubocop-ast","ecosystem":"rubygems","requirements":"1.21.0","direct":false,"kind":"runtime","optional":false},{"id":18674585561,"package_name":"rubocop-lts","ecosystem":"rubygems","requirements":"18.0.1","direct":false,"kind":"runtime","optional":false},{"id":18674585562,"package_name":"rubocop-minitest","ecosystem":"rubygems","requirements":"0.22.0","direct":false,"kind":"runtime","optional":false},{"id":18674585563,"package_name":"rubocop-packaging","ecosystem":"rubygems","requirements":"0.5.1","direct":false,"kind":"runtime","optional":false},{"id":18674585564,"package_name":"rubocop-performance","ecosystem":"rubygems","requirements":"1.15.0","direct":false,"kind":"runtime","optional":false},{"id":18674585565,"package_name":"rubocop-rake","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":18674585566,"package_name":"rubocop-ruby2_7","ecosystem":"rubygems","requirements":"1.0.6","direct":false,"kind":"runtime","optional":false},{"id":18674585567,"package_name":"rubocop-thread_safety","ecosystem":"rubygems","requirements":"0.4.4","direct":false,"kind":"runtime","optional":false},{"id":18674585568,"package_name":"ruby-progressbar","ecosystem":"rubygems","requirements":"1.11.0","direct":false,"kind":"runtime","optional":false},{"id":18674585569,"package_name":"simplecov","ecosystem":"rubygems","requirements":"0.21.2","direct":false,"kind":"runtime","optional":false},{"id":18674585570,"package_name":"simplecov-cobertura","ecosystem":"rubygems","requirements":"2.1.0","direct":false,"kind":"runtime","optional":false},{"id":18674585571,"package_name":"simplecov-html","ecosystem":"rubygems","requirements":"0.12.3","direct":false,"kind":"runtime","optional":false},{"id":18674585572,"package_name":"simplecov-json","ecosystem":"rubygems","requirements":"0.2.3","direct":false,"kind":"runtime","optional":false},{"id":18674585573,"package_name":"simplecov-lcov","ecosystem":"rubygems","requirements":"0.8.0","direct":false,"kind":"runtime","optional":false},{"id":18674585574,"package_name":"simplecov_json_formatter","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":18674585575,"package_name":"snaky_hash","ecosystem":"rubygems","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":18674585576,"package_name":"typhoeus","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":18674585577,"package_name":"unf","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":18674585578,"package_name":"unf_ext","ecosystem":"rubygems","requirements":"0.0.8.2","direct":false,"kind":"runtime","optional":false},{"id":18674585579,"package_name":"unicode-display_width","ecosystem":"rubygems","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":18674585580,"package_name":"version_gem","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":18674585581,"package_name":"webmock","ecosystem":"rubygems","requirements":"3.18.1","direct":false,"kind":"runtime","optional":false},{"id":18674585582,"package_name":"webrick","ecosystem":"rubygems","requirements":"1.7.0","direct":false,"kind":"runtime","optional":false},{"id":18674585583,"package_name":"yard","ecosystem":"rubygems","requirements":"0.9.28","direct":false,"kind":"runtime","optional":false},{"id":18674585584,"package_name":"bundler","ecosystem":"rubygems","requirements":"2.3.22","direct":false,"kind":"runtime","optional":false}]}],"score":32.36983266085116,"created_at":"2024-12-15T21:38:08.382Z","updated_at":"2026-04-30T04:03:21.000Z","avatar_url":"https://github.com/ruby-oauth.png","language":"Ruby","monthly_downloads":0,"readme":"| 📍 NOTE                                                                                                                                                           |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025.                    |\n| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |\n| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies].                                                                  |\n| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners.                              |\n| If a similar theft happened with my repos/gems, I'd hope some would stand up for me.                                                                              |\n| Disenfranchised former-maintainers have started [gem.coop][gem-coop].                                                                                             |\n| Once available I will publish there exclusively; unless RubyCentral makes amends with the community.                                                              |\n| The [\"Technology for Humans: Joel Draper\"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of.      |\n| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next.                                                                 |\n| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server].                             |\n\n[rubygems-org]: https://github.com/rubygems/\n[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/\n[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/\n[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/\n[simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV\n[martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q\n[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/\n[draper-theft]: https://joel.drapper.me/p/ruby-central/\n[reinteractive]: https://reinteractive.com/ruby-on-rails\n[gem-coop]: https://gem.coop\n[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12\n[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html\n[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace\n[gem-server]: https://github.com/galtzo-floss/gem-server\n[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6\n\n[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![oauth Logo by Chris Messina, CC BY-SA 3.0][🖼️oauth-i]][🖼️oauth]\n\n[🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg\n[🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN\n[🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg\n[🖼️ruby-lang]: https://www.ruby-lang.org/\n[🖼️oauth-i]: https://logos.galtzo.com/assets/images/oauth/avatar-192px.svg\n[🖼️oauth]: https://github.com/ruby-oauth/oauth\n\n# 🔑 Ruby OAuth 1.0 / 1.0a\n\n[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]\n\n`if ci_badges.map(\u0026:color).detect { it != \"green\"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].\n\n---\n\n`if ci_badges.map(\u0026:color).all? { it == \"green\"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.\n\n[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]\n\n## 🌻 Synopsis\n\nOAuth 1.0a is an industry-standard protocol for authorization.\nIt is an update to the original OAuth 1.0 protocol, and is used by many popular services.\n\nThis is a RubyGem for implementing OAuth 1.0 or 1.0a _clients_ and _servers_ in Ruby applications.\nSee the sibling `oauth2` gem for OAuth 2.0, 2.1, \u0026 OIDC clients in Ruby.\n\nAll dependencies of this gem are signed, so it can be installed with a `HighSecurity` profile.\n\n* [OAuth 1.0 Spec][oauth1-spec]\n* [oauth-tty sibling gem][sibling2-gem] is the OAuth 1.0 / 1.0a CLI.\n* [oauth2 sibling gem][sibling-gem] for OAuth 2.0 implementations in Ruby.\n\n[oauth1-spec]: http://oauth.net/core/1.0/\n[sibling-gem]: https://gitlab.com/ruby-oauth/oauth2\n[sibling2-gem]: https://gitlab.com/ruby-oauth/oauth-tty\n\n### OAuth 1.0 vs 1.0a: What this library implements\n\nThis gem targets the OAuth 1.0a behavior (the errata that became RFC 5849), while maintaining compatibility with providers that still behave like classic 1.0.\nHere are the key differences between the two and how this gem handles them:\n\n- oauth_callback\n  - 1.0: Optional in practice; some providers accepted flows without it.\n  - 1.0a: Consumer SHOULD send oauth_callback when obtaining a Request Token, or explicitly use the out-of-band value \"oob\".\n  - This gem: If you do not pass oauth_callback, we default it to \"oob\" (OUT_OF_BAND). You can opt-out by passing exclude_callback: true.\n- oauth_callback_confirmed\n  - 1.0: Not specified.\n  - 1.0a: Service Provider MUST return oauth_callback_confirmed=true with the Request Token response. This mitigates session fixation.\n  - This gem: Parses token responses but does not include oauth_callback_confirmed in the signature base string (it is a response param, not a signed request param).\n- oauth_verifier\n  - 1.0: Not present.\n  - 1.0a: After the user authorizes, the Provider returns an oauth_verifier to the Consumer, and the Consumer MUST include it when exchanging the Request Token for an Access Token.\n  - This gem: Supports oauth_verifier across request helpers and request proxies; pass oauth_verifier to get_access_token in 3‑legged flows.\n\nPractical guidance:\n- For 3‑legged flows, always supply oauth_callback when calling consumer.get_request_token, and include oauth_verifier when calling request_token.get_access_token.\n- For command‑line or non-HTTP clients, use the special OUT_OF_BAND value (\"oob\") as the oauth_callback and prompt the user to paste back the displayed verifier.\n\nReferences: [RFC 5849 (OAuth 1.0)](https://datatracker.ietf.org/doc/html/rfc5849), sections 5–7; [1.0a security errata](https://oauth.net/core/1.0a/).\n\nRuby OAuth has been maintained by a large number of talented\nindividuals over the years.\nThe primary maintainer since 2020 is Peter Boling ([@pboling](https://github.com/pboling)).\n\n## 💡 Info you can shake a stick at\n\n| Tokens to Remember      | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace]                                                                                                                                                                                                                                                                          |\n|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Works with JRuby        | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] \u003cbr/\u003e [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]                                                                                                          |\n| Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i] \u003cbr/\u003e [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf]                                                                                                                                                            |\n| Works with MRI Ruby 3   | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]                                                                                         |\n| Works with MRI Ruby 2   | [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎1-an-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf]                              |\n| Support \u0026 Community     | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]                                       |\n| Source                  | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc]                                                                                                                                                         |\n| Documentation           | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki]                                                                                          |\n| Compliance              | [![License: MIT][📄license-img]][📄license-ref] [![Compatible with Apache Software Projects: Verified by SkyWalking Eyes][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |\n| Style                   | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2]                                                                                                                  |\n| Maintainer 🎖️          | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto]                                                      |\n| `...` 💖                | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub]  [🛖][💖🛖hut] [🧪][💖🧪lab]                                                                   |\n\n### Compatibility\n\nCompatible with MRI Ruby 2.3+, and concordant releases of JRuby, and TruffleRuby.\n\n| 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚             |\n|------------------------------------------------|--------------------------------------------------------|\n| 👟 Check it out!                               | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |\n\n### Federated DVCS\n\n\u003cdetails\u003e\n  \u003csummary\u003eFind this repo on federated forges\u003c/summary\u003e\n\n| Federated [DVCS][💎d-in-dvcs] Repository        | Status                                                                | Issues                    | PRs                      | Wiki                      | CI                       | Discussions                  |\n|-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|\n| 🧪 [ruby-oauth/oauth on GitLab][📜src-gl]   | The Truth                                                             | [💚][🤝gl-issues]         | [💚][🤝gl-pulls]         | [💚][📜gl-wiki]           | 🐭 Tiny Matrix           | ➖                            |\n| 🧊 [ruby-oauth/oauth on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate])                             | [💚][🤝cb-issues]         | [💚][🤝cb-pulls]         | ➖                         | ⭕️ No Matrix             | ➖                            |\n| 🐙 [ruby-oauth/oauth on GitHub][📜src-gh]   | Another Mirror                                                        | [💚][🤝gh-issues]         | [💚][🤝gh-pulls]         | [💚][📜gh-wiki]           | 💯 Full Matrix           | [💚][gh-discussions]         |\n| 🤼 [OAuth Ruby Google Group][⛳gg-discussions] | \"Active\"                                                              | ➖                         | ➖                        | ➖                         | ➖                        | [💚][⛳gg-discussions]        |\n| 🎮️ [Discord Server][✉️discord-invite]          | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |\n\n[⛳gg-discussions]: https://groups.google.com/g/oauth-ruby\n[⛳gg-discussions-img]: https://img.shields.io/badge/google-group-0093D0.svg?style=for-the-badge\u0026logo=google\u0026logoColor=orange\n\u003c/details\u003e\n\n[gh-discussions]: https://github.com/ruby-oauth/oauth/discussions\n\n### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/oauth)](https://tidelift.com/subscription/pkg/rubygems-oauth?utm_source=rubygems-oauth\u0026utm_medium=referral\u0026utm_campaign=readme)\n\nAvailable as part of the Tidelift Subscription.\n\n\u003cdetails\u003e\n  \u003csummary\u003eNeed enterprise-level guarantees?\u003c/summary\u003e\n\nThe maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.\n\n[![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]\n\n- 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies\n- 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]\n- 💡Tidelift pays maintainers to maintain the software you depend on!\u003cbr/\u003e📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is \"[never gonna let you down][🧮kloc]\", and *supports* open source maintainers\n\nAlternatively:\n\n- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]\n- [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]\n- [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]\n\n\u003c/details\u003e\n\n## ✨ Installation\n\nInstall the gem and add to the application's Gemfile by executing:\n\n```console\nbundle add oauth\n```\n\nIf bundler is not being used to manage dependencies, install the gem by executing:\n\n```console\ngem install oauth\n```\n\n### 🔒 Secure Installation\n\n\u003cdetails\u003e\n  \u003csummary\u003eFor Medium or High Security Installations\u003c/summary\u003e\n\nThis gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by\n[stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with\nby following the instructions below.\n\nAdd my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:\n\n```console\ngem cert --add \u003c(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)\n```\n\nYou only need to do that once.  Then proceed to install with:\n\n```console\ngem install oauth -P HighSecurity\n```\n\nThe `HighSecurity` trust profile will verify signed gems, and not allow the installation of unsigned dependencies.\n\nIf you want to up your security game full-time:\n\n```console\nbundle config set --global trust-policy MediumSecurity\n```\n\n`MediumSecurity` instead of `HighSecurity` is necessary if not all the gems you use are signed.\n\nNOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.\n\n\u003c/details\u003e\n\n## ⚙️ Configuration\n\nThis is a ruby library which is intended to be used in creating Ruby Consumer\nand Service Provider applications. It is NOT a Rails plugin, but could easily\nbe used for the foundation for such a Rails plugin.\n\nThis gem was originally extracted from @pelle's [oauth-plugin](https://github.com/pelle/oauth-plugin)\ngem. After extraction that gem was made to depend on this gem.\n\nUnfortunately, this gem does have some Rails related bits that are\n**optional** to load. You don't need Rails! The Rails bits may be pulled out\ninto a separate gem with the 1.x minor updates of this gem.\n\n## 🔧 Basic Usage\n\n### Extensions\n\n* [oauth-tty (on Gitlab)](https://gitlab.com/ruby-oauth/oauth-tty) ([rubygems.org](https://rubygems.org/gems/oauth-tty))\n\n### Examples\n\nWe need to specify the `oauth_callback` url explicitly, otherwise it defaults to\n\"oob\" (Out of Band)\n\n```ruby\ncallback_url = \"http://127.0.0.1:3000/oauth/callback\"\n```\n\nCreate a new `OAuth::Consumer` instance by passing it a configuration hash:\n\n```ruby\noauth_consumer = OAuth::Consumer.new(\"key\", \"secret\", site: \"https://agree2\")\n```\n\nStart the process by requesting a token\n\n```ruby\nrequest_token = oauth_consumer.get_request_token(oauth_callback: callback_url)\n\nsession[:token] = request_token.token\nsession[:token_secret] = request_token.secret\nredirect_to request_token.authorize_url(oauth_callback: callback_url)\n```\n\nWhen user returns create an access_token\n\n```ruby\nhash = {oauth_token: session[:token], oauth_token_secret: session[:token_secret]}\nrequest_token = OAuth::RequestToken.from_hash(oauth_consumer, hash)\naccess_token = request_token.get_access_token\n# For 3-legged authorization, flow oauth_verifier is passed as param in callback\n# access_token = request_token.get_access_token(oauth_verifier: params[:oauth_verifier])\n@photos = access_token.get(\"/photos.xml\")\n```\n\nNow that you have an access token, you can use Typhoeus to interact with the\nOAuth provider if you choose.\n\n```ruby\nrequire \"typhoeus\"\nrequire \"oauth/request_proxy/typhoeus_request\"\noauth_params = {consumer: oauth_consumer, token: access_token}\nhydra = Typhoeus::Hydra.new\nreq = Typhoeus::Request.new(uri, options) # :method needs to be specified in options\noauth_helper = OAuth::Client::Helper.new(req, oauth_params.merge(request_uri: uri))\nreq.options[:headers][\"Authorization\"] = oauth_helper.header # Signs the request\nhydra.queue(req)\nhydra.run\n@response = req.response\n```\n\n### More Information\n\n* RubyDoc Documentation: [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head]\n* Mailing List/Google Group: [![OAuth Ruby Google Group][⛳gg-discussions-img]][⛳gg-discussions]\n* Maintainer Blog: [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog]\n* Live ruby-oauth Chat: [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]\n\n## 🦷 FLOSS Funding\n\nWhile ruby-oauth tools are free software and will always be, the project would benefit immensely from some funding.\nRaising a monthly budget of... \"dollars\" would make the project more sustainable.\n\nWe welcome both individual and corporate sponsors! We also offer a\nwide array of funding channels to account for your preferences\n(although currently [Open Collective][🖇osc] is our preferred funding platform).\n\n**If you're working in a company that's making significant use of ruby-oauth tools we'd\nappreciate it if you suggest to your company to become a ruby-oauth sponsor.**\n\nYou can support the development of ruby-oauth tools via\n[GitHub Sponsors][🖇sponsor],\n[Liberapay][⛳liberapay],\n[PayPal][🖇paypal],\n[Open Collective][🖇osc]\nand [Tidelift][🏙️entsup-tidelift].\n\n| 📍 NOTE                                                                                                                                                                                                              |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| If doing a sponsorship in the form of donation is problematic for your company \u003cbr/\u003e from an accounting standpoint, we'd recommend the use of Tidelift, \u003cbr/\u003e where you can get a support-like subscription instead. |\n\n### Open Collective for Individuals\n\nSupport us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/ruby-oauth#backer)]\n\nNOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.\n\n\u003c!-- OPENCOLLECTIVE-INDIVIDUALS:START --\u003e\nNo backers yet. Be the first!\n\u003c!-- OPENCOLLECTIVE-INDIVIDUALS:END --\u003e\n\n### Open Collective for Organizations\n\nBecome a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/ruby-oauth#sponsor)]\n\nNOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.\n\n\u003c!-- OPENCOLLECTIVE-ORGANIZATIONS:START --\u003e\nNo sponsors yet. Be the first!\n\n### Open Collective for Donors\n\n[Bill Woika](https://opencollective.com/bill-woika)\n\u003c!-- OPENCOLLECTIVE-ORGANIZATIONS:END --\u003e\n\n[kettle-readme-backers]: https://github.com/ruby-oauth/oauth/blob/main/exe/kettle-readme-backers\n\n### Another way to support open-source\n\nI’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small.  Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions.  I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).\n\nIf you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.\n\nI’m developing a new library, [floss_funding][🖇floss-funding-gem], designed to empower open-source developers like myself to get paid for the work we do, in a sustainable way. Please give it a look.\n\n**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**\n\n[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]\n\n## 🔐 Security\n\nSee [SECURITY.md][🔐security].\n\n## 🤝 Contributing\n\nIf you need some ideas of where to help, you could work on adding more code coverage,\nor if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],\nor use the gem and think about how it could be better.\n\nWe [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.\n\nSee [CONTRIBUTING.md][🤝contributing] for more detailed instructions.\n\n### 🚀 Release Instructions\n\nSee [CONTRIBUTING.md][🤝contributing].\n\n### Code Coverage\n\n[![Coverage Graph][🏀codecov-g]][🏀codecov]\n\n[![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]\n\n[![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]\n\n### 🪇 Code of Conduct\n\nEveryone interacting with this project's codebases, issue trackers,\nchat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].\n\n## 🌈 Contributors\n\n[![Contributors][🖐contributors-img]][🖐contributors]\n\nMade with [contributors-img][🖐contrib-rocks].\n\nAlso see GitLab Contributors: [https://gitlab.com/ruby-oauth/oauth/-/graphs/main][🚎contributors-gl]\n\n\u003cdetails\u003e\n    \u003csummary\u003e⭐️ Star History\u003c/summary\u003e\n\n\u003ca href=\"https://star-history.com/#ruby-oauth/oauth\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=ruby-oauth/oauth\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=ruby-oauth/oauth\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=ruby-oauth/oauth\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n\u003c/details\u003e\n\n## 📌 Versioning\n\nThis Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].\nViolations of this scheme should be reported as bugs.\nSpecifically, if a minor or patch version is released that breaks backward compatibility,\na new version should be immediately released that restores compatibility.\nBreaking changes to the public API will only be introduced with new major versions.\n\n\u003e dropping support for a platform is both obviously and objectively a breaking change \u003cbr/\u003e\n\u003e—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]\n\nI understand that policy doesn't work universally (\"exceptions to every rule!\"),\nbut it is the policy here.\nAs such, in many cases it is good to specify a dependency on this library using\nthe [Pessimistic Version Constraint][📌pvc] with two digits of precision.\n\nFor example:\n\n```ruby\nspec.add_dependency(\"oauth\", \"~\u003e 1.0\")\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e📌 Is \"Platform Support\" part of the public API? More details inside.\u003c/summary\u003e\n\nSemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms\nis a *breaking change* to an API.\nIt is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.\n\nTo get a better understanding of how SemVer is intended to work over a project's lifetime,\nread this article from the creator of SemVer:\n\n- [\"Major Version Numbers are Not Sacred\"][📌major-versions-not-sacred]\n\n\u003c/details\u003e\n\nSee [CHANGELOG.md][📌changelog] for a list of releases.\n\n## 📄 License\n\nThe gem is available as open source under the terms of\nthe [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].\nSee [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].\n\n### © Copyright\n\n\u003cul\u003e\n    \u003cli\u003e\n        Copyright (c) 2020-2022, 2024-2025 Peter H. Boling, of\n        \u003ca href=\"https://discord.gg/3qme4XHNKN\"\u003e\n            Galtzo.com\n            \u003cpicture\u003e\n              \u003cimg src=\"https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px-blank.svg\" alt=\"Galtzo.com Logo (Wordless) by Aboling0, CC BY-SA 4.0\" width=\"24\"\u003e\n            \u003c/picture\u003e\n        \u003c/a\u003e, and oauth contributors.\n    \u003c/li\u003e\n    \u003cli\u003e\n        Copyright (c) 2007-2012, 2016-2017 Blaine Cook, Larry Halff, Pelle Braendgaard\n    \u003c/li\u003e\n\u003c/ul\u003e\n\n## 🤑 A request for help\n\nMaintainers have teeth and need to pay their dentists.\nAfter getting laid off in an RIF in March, and encountering difficulty finding a new one,\nI began spending most of my time building open source tools.\nI'm hoping to be able to pay for my kids' health insurance this month,\nso if you value the work I am doing, I need your support.\nPlease consider sponsoring me or the project.\n\nTo join the community or get help 👇️ Join the Discord.\n\n[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]\n\nTo say \"thanks!\" ☝️ Join the Discord or 👇️ send money.\n\n[![Sponsor ruby-oauth/oauth on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]\n\n### Please give the project a star ⭐ ♥.\n\nThanks for RTFM. ☺️\n\n[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026color=a51611\u0026style=flat\n[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge\u0026logo=liberapay\u0026color=a51611\n[⛳liberapay]: https://liberapay.com/pboling/donate\n[🖇osc-all-img]: https://img.shields.io/opencollective/all/ruby-oauth\n[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/ruby-oauth\n[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/ruby-oauth\n[🖇osc-backers]: https://opencollective.com/ruby-oauth#backer\n[🖇osc-backers-i]: https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\n[🖇osc-sponsors]: https://opencollective.com/ruby-oauth#sponsor\n[🖇osc-sponsors-i]: https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\n[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/ruby-oauth?style=for-the-badge\n[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/ruby-oauth?style=for-the-badge\n[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/ruby-oauth?style=for-the-badge\n[🖇osc]: https://opencollective.com/ruby-oauth\n[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026logo=github\n[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge\u0026logo=github\n[🖇sponsor]: https://github.com/sponsors/pboling\n[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\n[🖇polar]: https://polar.sh/pboling\n[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\n[🖇kofi]: https://ko-fi.com/O5O86SNP4\n[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\n[🖇patreon]: https://patreon.com/galtzo\n[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\n[🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte\u0026emoji=\u0026slug=pboling\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Cookie\u0026outline_colour=000000\u0026coffee_colour=ffffff\n[🖇buyme]: https://www.buymeacoffee.com/pboling\n[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat\u0026logo=paypal\n[🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge\u0026logo=paypal\u0026color=0A0A0A\n[🖇paypal]: https://www.paypal.com/paypalme/peterboling\n[🖇floss-funding.dev]: https://floss-funding.dev\n[🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding\n[✉️discord-invite]: https://discord.gg/3qme4XHNKN\n[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge\u0026logo=discord\n[✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge\u0026logo=dailydotdev\u0026logoColor=white\n[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends\n\n[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780\n[⛳️gem-namespace]: https://github.com/ruby-oauth/oauth\n[⛳️namespace-img]: https://img.shields.io/badge/namespace-Oauth-3C2D2D.svg?style=square\u0026logo=ruby\u0026logoColor=white\n[⛳️gem-name]: https://bestgems.org/gems/oauth\n[⛳️name-img]: https://img.shields.io/badge/name-oauth-3C2D2D.svg?style=square\u0026logo=rubygems\u0026logoColor=red\n[⛳️tag-img]: https://img.shields.io/github/tag/ruby-oauth/oauth.svg\n[⛳️tag]: http://github.com/ruby-oauth/oauth/releases\n[🚂maint-blog]: http://www.railsbling.com/tags/oauth\n[🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge\u0026logo=rubyonrails\u0026logoColor=orange\n[🚂maint-contact]: http://www.railsbling.com/contact\n[🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat\u0026logo=rubyonrails\u0026logoColor=red\n[💖🖇linkedin]: http://www.linkedin.com/in/peterboling\n[💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat\u0026logo=newjapanprowrestling\n[💖✌️wellfound]: https://wellfound.com/u/peter-boling\n[💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat\u0026logo=wellfound\n[💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling\n[💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat\u0026logo=crunchbase\n[💖🐘ruby-mast]: https://ruby.social/@galtzo\n[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social\u0026style=flat\u0026logo=mastodon\u0026label=Ruby%20@galtzo\n[💖🦋bluesky]: https://bsky.app/profile/galtzo.com\n[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat\u0026logo=bluesky\u0026logoColor=white\n[💖🌳linktree]: https://linktr.ee/galtzo\n[💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat\u0026logo=linktree\n[💖💁🏼‍♂️devto]: https://dev.to/galtzo\n[💖💁🏼‍♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat\u0026logo=devdotto\u0026logoColor=white\n[💖💁🏼‍♂️aboutme]: https://about.me/peter.boling\n[💖💁🏼‍♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat\u0026logo=aboutme\u0026logoColor=white\n[💖🧊berg]: https://codeberg.org/pboling\n[💖🐙hub]: https://github.org/pboling\n[💖🛖hut]: https://sr.ht/~galtzo/\n[💖🧪lab]: https://gitlab.com/pboling\n[👨🏼‍🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share\n[👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge\u0026logo=Upwork\u0026logoColor=white\n[👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github\u0026utm_medium=button\u0026utm_term=peterboling\u0026utm_campaign=github\n[👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge\u0026logo=CodeMentor\u0026logoColor=white\n[🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-oauth?utm_source=rubygems-oauth\u0026utm_medium=referral\u0026utm_campaign=readme\n[🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge\u0026logo=sonar\u0026logoColor=white\n[🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar\n[💁🏼‍♂️peterboling]: http://www.peterboling.com\n[🚂railsbling]: http://www.railsbling.com\n[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge\u0026logo=Gitlab\u0026logoColor=orange\n[📜src-gl]: https://gitlab.com/ruby-oauth/oauth/\n[📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge\u0026logo=CodeBerg\u0026logoColor=blue\n[📜src-cb]: https://codeberg.org/ruby-oauth/oauth\n[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge\u0026logo=Github\u0026logoColor=green\n[📜src-gh]: https://github.com/ruby-oauth/oauth\n[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge\u0026logo=readthedocs\u0026logoColor=white\n[📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge\u0026logo=readthedocs\u0026logoColor=white\n[📜gl-wiki]: https://gitlab.com/ruby-oauth/oauth/-/wikis/home\n[📜gh-wiki]: https://github.com/ruby-oauth/oauth/wiki\n[📜gl-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge\u0026logo=gitlab\u0026logoColor=white\n[📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\n[👽dl-rank]: https://bestgems.org/gems/oauth\n[👽dl-ranki]: https://img.shields.io/gem/rd/oauth.svg\n[👽oss-help]: https://www.codetriage.com/ruby-oauth/oauth\n[👽oss-helpi]: https://www.codetriage.com/ruby-oauth/oauth/badges/users.svg\n[👽version]: https://bestgems.org/gems/oauth\n[👽versioni]: https://img.shields.io/gem/v/oauth.svg\n[🏀qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth\n[🏀qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth/maintainability.svg\n[🏀qlty-cov]: https://qlty.sh/gh/ruby-oauth/projects/oauth/metrics/code?sort=coverageRating\n[🏀qlty-covi]: https://qlty.sh/gh/ruby-oauth/projects/oauth/coverage.svg\n[🏀codecov]: https://codecov.io/gh/ruby-oauth/oauth\n[🏀codecovi]: https://codecov.io/gh/ruby-oauth/oauth/graph/badge.svg\n[🏀coveralls]: https://coveralls.io/github/ruby-oauth/oauth?branch=main\n[🏀coveralls-img]: https://coveralls.io/repos/github/ruby-oauth/oauth/badge.svg?branch=main\n[🖐codeQL]: https://github.com/ruby-oauth/oauth/security/code-scanning\n[🖐codeQL-img]: https://github.com/ruby-oauth/oauth/actions/workflows/codeql-analysis.yml/badge.svg\n[🚎1-an-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ancient.yml\n[🚎1-an-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/ancient.yml/badge.svg\n[🚎2-cov-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/coverage.yml\n[🚎2-cov-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/coverage.yml/badge.svg\n[🚎3-hd-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/heads.yml\n[🚎3-hd-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/heads.yml/badge.svg\n[🚎4-lg-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/legacy.yml\n[🚎4-lg-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/legacy.yml/badge.svg\n[🚎5-st-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/style.yml\n[🚎5-st-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/style.yml/badge.svg\n[🚎6-s-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/supported.yml\n[🚎6-s-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/supported.yml/badge.svg\n[🚎7-us-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/unsupported.yml\n[🚎7-us-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/unsupported.yml/badge.svg\n[🚎8-ho-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/hoary.yml\n[🚎8-ho-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/hoary.yml/badge.svg\n[🚎9-t-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffle.yml\n[🚎9-t-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/truffle.yml/badge.svg\n[🚎10-j-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby.yml\n[🚎10-j-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby.yml/badge.svg\n[🚎11-c-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/current.yml\n[🚎11-c-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/current.yml/badge.svg\n[🚎12-crh-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/dep-heads.yml\n[🚎12-crh-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/dep-heads.yml/badge.svg\n[🚎13-🔒️-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/locked_deps.yml\n[🚎13-🔒️-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/locked_deps.yml/badge.svg\n[🚎14-🔓️-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/unlocked_deps.yml\n[🚎14-🔓️-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/unlocked_deps.yml/badge.svg\n[🚎15-🪪-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/license-eye.yml\n[🚎15-🪪-wfi]: https://github.com/ruby-oauth/oauth/actions/workflows/license-eye.yml/badge.svg\n[💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-2.7i]: https://img.shields.io/badge/Ruby-2.7-DF00CA?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-3.0i]: https://img.shields.io/badge/Ruby-3.0-CC342D?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge\u0026logo=ruby\u0026logoColor=green\n[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge\u0026logo=ruby\u0026logoColor=blue\n[💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge\u0026logo=ruby\u0026logoColor=pink\n[💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge\u0026logo=ruby\u0026logoColor=pink\n[💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge\u0026logo=ruby\u0026logoColor=pink\n[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge\u0026logo=ruby\u0026logoColor=green\n[💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge\u0026logo=ruby\u0026logoColor=blue\n[💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge\u0026logo=ruby\u0026logoColor=red\n[💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge\u0026logo=ruby\u0026logoColor=red\n[💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge\u0026logo=ruby\u0026logoColor=red\n[💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge\u0026logo=ruby\u0026logoColor=red\n[💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge\u0026logo=ruby\u0026logoColor=green\n[💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge\u0026logo=ruby\u0026logoColor=blue\n[🤝gh-issues]: https://github.com/ruby-oauth/oauth/issues\n[🤝gh-pulls]: https://github.com/ruby-oauth/oauth/pulls\n[🤝gl-issues]: https://gitlab.com/ruby-oauth/oauth/-/issues\n[🤝gl-pulls]: https://gitlab.com/ruby-oauth/oauth/-/merge_requests\n[🤝cb-issues]: https://codeberg.org/ruby-oauth/oauth/issues\n[🤝cb-pulls]: https://codeberg.org/ruby-oauth/oauth/pulls\n[🤝cb-donate]: https://donate.codeberg.org/\n[🤝contributing]: CONTRIBUTING.md\n[🏀codecov-g]: https://codecov.io/gh/ruby-oauth/oauth/graphs/tree.svg\n[🖐contrib-rocks]: https://contrib.rocks\n[🖐contributors]: https://github.com/ruby-oauth/oauth/graphs/contributors\n[🖐contributors-img]: https://contrib.rocks/image?repo=ruby-oauth/oauth\n[🚎contributors-gl]: https://gitlab.com/ruby-oauth/oauth/-/graphs/main\n[🪇conduct]: CODE_OF_CONDUCT.md\n[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg\n[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint\n[📌semver]: https://semver.org/spec/v2.0.0.html\n[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat\n[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139\n[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html\n[📌changelog]: CHANGELOG.md\n[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/\n[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat\n[📌gitmoji]: https://gitmoji.dev\n[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square\n[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ\n[🧮kloc-img]: https://img.shields.io/badge/KLOC-1.000-FFDD67.svg?style=for-the-badge\u0026logo=YouTube\u0026logoColor=blue\n[🔐security]: SECURITY.md\n[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat\n[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year\n[📄license]: LICENSE.txt\n[📄license-ref]: https://opensource.org/licenses/MIT\n[📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg\n[📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0\n[📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat\u0026logo=Apache\n[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm\n[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat\n[🚎yard-current]: http://rubydoc.info/gems/oauth\n[🚎yard-head]: https://oauth.galtzo.com\n[💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums\n[💎SHA_checksums]: https://gitlab.com/ruby-oauth/oauth/-/tree/main/checksums\n[💎rlts]: https://github.com/rubocop-lts/rubocop-lts\n[💎rlts-img]: https://img.shields.io/badge/code_style_\u0026_linting-rubocop--lts-34495e.svg?plastic\u0026logo=ruby\u0026logoColor=white\n[💎appraisal2]: https://github.com/appraisal-rb/appraisal2\n[💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic\u0026logo=ruby\u0026logoColor=white\n[💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/\n","funding_links":["https://github.com/sponsors/pboling","https://buymeacoffee.com/pboling","https://issuehunt.io/r/pboling","https://ko-fi.com/pboling","https://liberapay.com/pboling","https://opencollective.com/ruby-oauth","https://patreon.com/galtzo","https://polar.sh/pboling","https://thanks.dev/u/gh/pboling","https://tidelift.com/funding/github/rubygems/oauth","https://tidelift.com/badges/package/rubygems/oauth","https://tidelift.com/subscription/pkg/rubygems-oauth?utm_source=rubygems-oauth\u0026utm_medium=referral\u0026utm_campaign=readme","https://opencollective.com/bill-woika","https://liberapay.com/pboling/donate","https://ko-fi.com/O5O86SNP4","https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte\u0026emoji=\u0026slug=pboling\u0026button_colour=FFDD00\u0026font_colour=000000\u0026font_family=Cookie\u0026outline_colour=000000\u0026coffee_colour=ffffff","https://www.buymeacoffee.com/pboling","https://www.paypal.com/paypalme/peterboling","https://blog.tidelift.com/tidelift-joins-sonar"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["activerecord","activejob","mvc","rubygems","rack","oidc-client","oidc","oauth2-client","oauth2","crash-reporting"],"project_url":"https://ruby.ecosyste.ms/api/v1/projects/564","html_url":"https://ruby.ecosyste.ms/projects/564"}