{"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-06-16T03:00:42.398Z","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-06-08T13:54:37.000Z","size":2230,"stargazers_count":674,"open_issues_count":4,"forks_count":269,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-06-11T10:04:01.414Z","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":"other","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.md","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":"AGENTS.md","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-06-07T08:25:43.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":52,"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":34213262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"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":{"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":"2026-05-07T06:40:05.814Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-oauth","funding_links":[],"total_stars":2922,"followers":22,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2026-05-07T06:40:05.814Z","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://structuredmerge.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ruby-oauth/oauth","keywords_array":[],"namespace":null,"versions_count":52,"first_release_published_at":"2009-07-25T18:04:59.000Z","latest_release_published_at":"2026-06-15T11:28:42.605Z","latest_release_number":"1.1.7","last_synced_at":"2026-06-15T14:16:57.873Z","created_at":"2025-10-07T04:39:05.483Z","updated_at":"2026-06-15T17:12:03.422Z","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-06-08T13:54:37.000Z","size":2230,"stargazers_count":674,"open_issues_count":4,"forks_count":269,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-06-11T10:04:01.414Z","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":"other","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.md","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":"AGENTS.md","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-06-07T08:25:43.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":52,"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":34213262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"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":"2026-05-07T06:40:05.814Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-oauth","funding_links":[],"total_stars":2922,"followers":22,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2026-05-07T06:40:05.814Z","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.6","sha":"c4e50cbb312dfd02288bbe275c9ecaa837168292","kind":"tag","published_at":"2026-06-07T08:25:21.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.6","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"2033ba57a05cdf7dd94fe796aadb6f1e7b4b4c28","kind":"tag","published_at":"2026-05-21T00:52:21.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.5","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"28f942a68d52da2ababf6a225c3fddf6a6447430","kind":"tag","published_at":"2026-05-17T02:31:57.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.4/manifests"},{"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-06-15T17:12:03.395Z","dependent_packages_count":0,"downloads":162254540,"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-06-10T00:00:44.143Z","issues_count":14,"pull_requests_count":93,"avg_time_to_close_issue":6590331.909090909,"avg_time_to_close_pull_request":1933837.6976744186,"issues_closed_count":11,"pull_requests_closed_count":86,"pull_request_authors_count":10,"issue_authors_count":6,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":1.043010752688172,"merged_pull_requests_count":49,"bot_issues_count":0,"bot_pull_requests_count":59,"past_year_issues_count":2,"past_year_pull_requests_count":37,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":288578.7,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":30,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":1.135135135135135,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":20,"past_year_merged_pull_requests_count":26,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/issues","maintainers":[{"login":"pboling","count":35,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"},{"login":"autobolt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/autobolt"}],"active_maintainers":[{"login":"pboling","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"},{"login":"autobolt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/autobolt"}]},"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","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/oauth/latest_version","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":136,"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":192694,"maintainers_count":67964,"namespaces_count":0,"keywords_count":18400,"github":"gem-coop","metadata":{"funded_packages_count":6885},"icon_url":"https://github.com/gem-coop.png","created_at":"2025-10-06T17:24:20.932Z","updated_at":"2026-06-10T05:17:24.062Z","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://structuredmerge.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/ruby-oauth/oauth","keywords_array":[],"namespace":null,"versions_count":52,"first_release_published_at":"2009-07-25T18:04:59.000Z","latest_release_published_at":"2026-06-15T11:28:42.605Z","latest_release_number":"1.1.7","last_synced_at":"2026-06-15T19:13:29.179Z","created_at":"2022-04-06T05:47:30.655Z","updated_at":"2026-06-16T00:24:44.283Z","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-05-21T00:53:47.000Z","size":2059,"stargazers_count":674,"open_issues_count":0,"forks_count":269,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-05-21T01:28:29.781Z","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-05-21T00:53:49.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":50,"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":33408490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"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":"2026-05-07T06:40:05.814Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ruby-oauth","funding_links":[],"total_stars":2922,"followers":22,"following":0,"created_at":"2022-11-02T16:17:23.129Z","updated_at":"2026-05-07T06:40:05.814Z","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.4","sha":"28f942a68d52da2ababf6a225c3fddf6a6447430","kind":"tag","published_at":"2026-05-17T02:31:57.000Z","download_url":"https://codeload.github.com/ruby-oauth/oauth/tar.gz/v1.1.4","html_url":"https://github.com/ruby-oauth/oauth/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ruby-oauth/oauth@v1.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/tags/v1.1.4/manifests"},{"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-06-15T19:17:37.544Z","dependent_packages_count":610,"downloads":162275350,"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-06-16T00:10:30.390Z","epss_percentage":0.00143,"epss_percentile":0.34587,"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":162215189,"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","1.1.4","1.1.5","1.1.6"]}],"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-05-24T05:15:52.486Z","issues_count":14,"pull_requests_count":85,"avg_time_to_close_issue":6590331.909090909,"avg_time_to_close_pull_request":1974121.1829268292,"issues_closed_count":11,"pull_requests_closed_count":82,"pull_request_authors_count":10,"issue_authors_count":6,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":49,"bot_issues_count":0,"bot_pull_requests_count":51,"past_year_issues_count":2,"past_year_pull_requests_count":29,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":162509.84615384616,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":26,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":1.0344827586206897,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":12,"past_year_merged_pull_requests_count":26,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-oauth%2Foauth/issues","maintainers":[{"login":"pboling","count":35,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"},{"login":"autobolt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/autobolt"}],"active_maintainers":[{"login":"pboling","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"},{"login":"autobolt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/autobolt"}]},"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","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/oauth/latest_version","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":137,"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":207859,"maintainers_count":68950,"namespaces_count":0,"keywords_count":18771,"github":"rubygems","metadata":{"funded_packages_count":7455},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2026-06-10T05:04:00.514Z","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":951,"total_committers":120,"total_bot_commits":52,"total_bot_committers":2,"mean_commits":7.925,"dds":0.6887486855941114,"past_year_total_commits":108,"past_year_total_committers":6,"past_year_total_bot_commits":12,"past_year_total_bot_committers":1,"past_year_mean_commits":18.0,"past_year_dds":0.37037037037037035,"last_synced_at":"2026-06-14T00:21:55.260Z","last_synced_commit":"415635f6a017a0e05816386ea38dbffbdfa7b7de","created_at":"2025-06-28T12:36:07.221Z","updated_at":"2026-06-14T00:14:50.758Z","committers":[{"name":"Peter Boling","email":"peter.boling@gmail.com","login":"pboling","count":296},{"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":43},{"name":"autobolt","email":"autobots@9thbit.net","login":"autobolt","count":24},{"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":"Nicholas Souphandavong","email":"39563467+souphan-adsk","login":"souphan-adsk","count":4},{"name":"Annibelle Boling","email":"annibelle.boling@gmail.com","login":"Aboling0","count":4},{"name":"shalvah","email":"diakon.ng@gmail.com","login":"shalvah","count":3},{"name":"Confiks","email":"confiks@scriptbase.org","login":"confiks","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":"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":"Eric Hartmann","email":"hartmann.eric@gmail.com","login":"ehartmann","count":2},{"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":"Brian John","email":"brian@brianjohn.com","login":"f1sherman","count":2},{"name":"Brian Finney","email":"bri+git@nfinney.com","login":"yenif","count":2},{"name":"Akira Matsuda","email":"ronnie@dio.jp","login":"amatsuda","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":"Yoan Blanc","email":"yoanblanc@MB-Yoan.local","login":null,"count":2},{"name":"Yoan Blanc","email":"yoanblanc@77-56-205-101.dclient.hispeed.ch","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":"goutham","email":"gouthamvel@gmail.com","login":"gouthamvel","count":2},{"name":"Yvonne","email":"yvonne@moneybird.com","login":"yvonnenieuwerth","count":2},{"name":"Xavier Shay","email":"xavier@rhnh.net","login":"xaviershay","count":2},{"name":"Steven Hammond","email":"shammond@northpub.com","login":"shammond42","count":2},{"name":"Shohei Maeda","email":"irt_m.jrsyo@ntworkers.com","login":"smaeda-ks","count":2},{"name":"Richard Vowles","email":"richard@bluetrainsoftware.com","login":"rvowles","count":2},{"name":"Pavel Lobashov","email":"shockwavenn@gmail.com","login":"ShockwaveNN","count":2},{"name":"Juris Galang","email":"jurisgalang@gmail.com","login":"jurisgalang","count":2},{"name":"Jonathon M. Abbott","email":"jma@dandaraga.net","login":"JonathonMA","count":2},{"name":"Jimmy Zimmerman","email":"jimmy.zimmerman@gmail.com","login":"jimmyz","count":2},{"name":"Ondrej Prazak","email":"oprazak@redhat.com","login":null,"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":"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":"Thiago Arrais","email":"thiago@gilbertogil.(none)","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":"StepSecurity Bot","email":"bot@stepsecurity.io","login":"step-security-bot","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":"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":68},{"name":"autobolt","email":"autobots@9thbit.net","login":"autobolt","count":24},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":12},{"name":"David Varga","email":"d.varga@instructure.com","login":"davefej","count":2},{"name":"StepSecurity Bot","email":"bot@stepsecurity.io","login":"step-security-bot","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-06-14T00:00:10.507Z","repositories_count":6259284,"commits_count":882414215,"contributors_count":35082804,"owners_count":1166408,"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-06-10T00:00:44.143Z","status":"active","issues_count":14,"pull_requests_count":93,"avg_time_to_close_issue":6590331.909090909,"avg_time_to_close_pull_request":1933837.6976744186,"issues_closed_count":11,"pull_requests_closed_count":86,"pull_request_authors_count":10,"issue_authors_count":6,"avg_comments_per_issue":1.1428571428571428,"avg_comments_per_pull_request":1.043010752688172,"merged_pull_requests_count":49,"bot_issues_count":0,"bot_pull_requests_count":59,"past_year_issues_count":2,"past_year_pull_requests_count":37,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":288578.7,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":30,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.5,"past_year_avg_comments_per_pull_request":1.135135135135135,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":20,"past_year_merged_pull_requests_count":26,"created_at":"2025-06-28T12:36:13.718Z","updated_at":"2026-06-10T00:00:44.143Z","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":46,"github_actions":15,"depfu":14,"ruby":5,"Breaking CI":1},"issue_author_associations_count":{"MEMBER":9,"NONE":4,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"CONTRIBUTOR":64,"MEMBER":27,"NONE":2},"issue_authors":{"pboling":9,"archana-codezen":1,"MrSerth":1,"JamesChevalier":1,"chuckremes":1,"micwoj92":1},"pull_request_authors":{"dependabot[bot]":45,"pboling":26,"depfu[bot]":14,"JamesChevalier":2,"Aboling0":1,"autobolt":1,"davefej":1,"shalvah":1,"chuckremes":1,"step-security-bot":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-12T00:00:21.419Z","repositories_count":14789489,"issues_count":33239351,"pull_requests_count":109524198,"authors_count":11301673,"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":20,"github_actions":15,"ruby":5},"past_year_issue_author_associations_count":{"NONE":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":22,"MEMBER":15},"past_year_issue_authors":{"micwoj92":1,"MrSerth":1},"past_year_pull_request_authors":{"dependabot[bot]":20,"pboling":14,"autobolt":1,"davefej":1,"step-security-bot":1},"maintainers":[{"login":"pboling","count":35,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"},{"login":"autobolt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/autobolt"}],"active_maintainers":[{"login":"pboling","count":14,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pboling"},{"login":"autobolt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/autobolt"}]},"events":{"total":{"ReleaseEvent":4,"DeleteEvent":17,"PullRequestEvent":29,"ForkEvent":1,"IssuesEvent":4,"IssueCommentEvent":29,"PushEvent":50,"PullRequestReviewEvent":7,"CreateEvent":22},"last_year":{"ReleaseEvent":4,"DeleteEvent":17,"PullRequestEvent":29,"ForkEvent":1,"IssuesEvent":4,"IssueCommentEvent":29,"PushEvent":50,"PullRequestReviewEvent":7,"CreateEvent":22}},"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.38862956372964,"created_at":"2024-12-15T21:38:08.382Z","updated_at":"2026-06-16T03:00:42.490Z","avatar_url":"https://github.com/ruby-oauth.png","language":"Ruby","monthly_downloads":0,"readme":"\u003ca href=\"https://github.com/ruby-oauth\"\u003e\u003cimg alt=\"ruby-oauth Logo by Aboling0, CC BY-SA 4.0\" src=\"https://logos.galtzo.com/assets/images/ruby-oauth/avatar-128px.svg\" width=\"14%\" align=\"right\"/\u003e\u003c/a\u003e\n\n# 🔮 OAuth\n\n[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![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 Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]\n\n`if ci_badges.map(\u0026:color).detect { it != \"green\"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].\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\u003cdetails\u003e\n \u003csummary\u003e👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️\u003c/summary\u003e\n\nI've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).\n\n\u003c/details\u003e\n\n## 🌻 Synopsis \u003ca href=\"https://discord.gg/3qme4XHNKN\"\u003e\u003cimg alt=\"Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0\" src=\"https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg\" width=\"8%\" align=\"right\"/\u003e\u003c/a\u003e \u003ca href=\"https://ruby-toolbox.com\"\u003e\u003cimg alt=\"ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5\" src=\"https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg\" width=\"8%\" align=\"right\"/\u003e\u003c/a\u003e\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.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] \u003cbr/\u003e [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|\n| Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] \u003cbr/\u003e [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|\n| Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|\n| Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|\n| Works with MRI Ruby 2 | ![Ruby 2.3 Compat][💎ruby-2.3i] \u003cbr/\u003e [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-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] [![Apache license compatibility: Category A][📄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.\nCI workflows and Appraisals are generated for MRI Ruby 2.4+.\nThis test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and\nmay be higher than the gem's runtime compatibility floor when legacy Rubies are\nnot practical for the current toolchain.\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 markdown=\"1\"\u003e\n \u003csummary\u003eFind this repo on federated forges (Coming soon!)\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| 🎮️ [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\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 markdown=\"1\"\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## ⚙️ 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\nThe main client entry point is `OAuth::Consumer.new(consumer_key, consumer_secret, options)`.\nCommon options include:\n\n- `:site` - Provider origin, for example `https://provider.example`.\n- `:request_token_path`, `:authorize_path`, `:authenticate_path`, `:access_token_path` - Provider endpoint paths. Defaults are `/oauth/request_token`, `/oauth/authorize`, `/oauth/authenticate`, and `/oauth/access_token`.\n- `:request_token_url`, `:authorize_url`, `:access_token_url` - Full endpoint URLs. Use these when endpoints are not all under the same `:site` origin.\n- `:scheme` - Where OAuth parameters are sent: `:header` by default, or `:body` / `:query_string`.\n- `:http_method` - HTTP method for token endpoint requests, `:post` by default.\n- `:signature_method` - Signature method, `HMAC-SHA1` by default.\n- `:body_hash_enabled` - Whether request body hashes are signed where applicable. Defaults to `true`.\n- `:ca_file`, `:proxy`, `:debug_output` - Net::HTTP transport options.\n- `:token_request_max_redirects` - Maximum redirects followed while requesting OAuth tokens. Defaults to `10`.\n- `:token_request_cross_origin_redirects` - Whether token requests may follow redirects to a different scheme, host, or effective port. Defaults to `false`; only enable this when the provider's token endpoints intentionally redirect across origins.\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\nFor browser-based three-legged OAuth 1.0a flows, pass an explicit\n`oauth_callback` URL when requesting the request token. If you do not pass\n`oauth_callback`, this gem defaults it to `\"oob\"` (out of band), which is\nintended for command-line and non-HTTP clients.\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(\n  \"consumer_key\",\n  \"consumer_secret\",\n  site: \"https://provider.example\"\n)\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\n```\n\nWhen the user returns to your callback URL, rebuild the request token from the\nvalues you stored and exchange it for an access token. OAuth 1.0a providers\nreturn `oauth_verifier` in the callback, and it must be included in this\nexchange.\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(oauth_verifier: params[:oauth_verifier])\n@photos = access_token.get(\"/photos.xml\")\n```\n\nFor OAuth 1.0 providers that do not use `oauth_verifier`, call\n`request_token.get_access_token` without the verifier.\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\"\n\nuri = \"https://provider.example/photos.xml\"\noptions = {method: :get, headers: {}}\noauth_params = {consumer: oauth_consumer, token: access_token}\n\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] ||= {}\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[⛳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\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.\nCurrently, [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\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 [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\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eCoverage service badges\u003c/summary\u003e\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\u003c/details\u003e\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 follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.\nFor most applications, prefer the [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 markdown=\"1\"\u003e\n\u003csummary\u003e📌 Is \"Platform Support\" part of the public API? More details inside.\u003c/summary\u003e\n\nDropping support for a platform can be a breaking change for affected users.\nIf a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.\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](MIT.md) [![License: MIT][📄license-img]][📄license-ref].\n\n### © Copyright\n\nSee [LICENSE.md][📄license] for the official copyright notice.\n\n\u003cdetails markdown=\"1\"\u003e\n\u003csummary\u003eCopyright holders\u003c/summary\u003e\n\n- Copyright (c) 2007-2010 Pelle Braendgaard\n- Copyright (c) 2008 Chris Mear\n- Copyright (c) 2008 Jon Crosby\n- Copyright (c) 2008-2010 Seth Fitzsimmons\n- Copyright (c) 2008 Tilmann Singer\n- Copyright (c) 2008 Tom Insam\n- Copyright (c) 2008 tsailipu\n- Copyright (c) 2009-2012 Aaron Quint\n- Copyright (c) 2009 Anders Conbere\n- Copyright (c) 2009 Bill Kocik\n- Copyright (c) 2009 Darcy Laycock\n- Copyright (c) 2009 Eric Hartmann\n- Copyright (c) 2009 Greg Weber\n- Copyright (c) 2009 Laszlo Bacsi\n- Copyright (c) 2009 Marshall Huss\n- Copyright (c) 2009 Matt Sanford\n- Copyright (c) 2009 Neill Pearman\n- Copyright (c) 2009 Seth Cousins\n- Copyright (c) 2009 Yoan Blanc\n- Copyright (c) 2010 andrehjr\n- Copyright (c) 2010 Brian Finney\n- Copyright (c) 2010 ecavazos\n- Copyright (c) 2010 Joshua Hull\n- Copyright (c) 2010 Marsh Gardiner\n- Copyright (c) 2010 Michael Reinsch\n- Copyright (c) 2010 Sean Cribbs\n- Copyright (c) 2010 Steven Parkes\n- Copyright (c) 2010 成田 一生\n- Copyright (c) 2011 Shaliko Usubov\n- Copyright (c) 2012 Ernie Miller\n- Copyright (c) 2012 Jonathon M. Abbott\n- Copyright (c) 2012 Richard Huang\n- Copyright (c) 2012 rick\n- Copyright (c) 2012 Steven Hammond\n- Copyright (c) 2013 Craig Walker\n- Copyright (c) 2013 Khem Veasna\n- Copyright (c) 2014 Brian John\n- Copyright (c) 2014 Michal Papis\n- Copyright (c) 2014 raeno\n- Copyright (c) 2015 jremmen\n- Copyright (c) 2015 Kevin Hughes\n- Copyright (c) 2016 Eric True\n- Copyright (c) 2016-2017 James Pinto\n- Copyright (c) 2016 jianben\n- Copyright (c) 2016 Nik Wakelin\n- Copyright (c) 2017 Ondrej Prazak\n- Copyright (c) 2018 Nicholas Souphandavong\n- Copyright (c) 2018 Yvonne\n- Copyright (c) 2019 Agora@Ubuntu-dev\n- Copyright (c) 2019 Shohei Maeda\n- Copyright (c) 2020-2021, 2026 Khem\n- Copyright (c) 2021 Chuck Remes\n- Copyright (c) 2021 iamibi\n- Copyright (c) 2021 Jeremy Sioui\n- Copyright (c) 2021 Nick Morgan\n- Copyright (c) 2021-2022, 2025-2026 Peter H. Boling\n- Copyright (c) 2021 Richard Vowles\n- Copyright (c) 2022 Shalvah\n- Copyright (c) 2024-2025 Annibelle Boling\n- Copyright (c) 2025 Aboling0\n- Copyright (c) 2026 David Varga\n- Copyright (c) 2026 StepSecurity Bot\n\n\u003c/details\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\nMany parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.\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/pboling\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]: https://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/LinkedIn-Profile-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-gitlab-943CD2.svg?style=for-the-badge\u0026logo=gitlab\u0026logoColor=white\n[📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-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[👽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[🚎ruby-2.4-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-2.4.yml\n[🚎ruby-2.5-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-2.5.yml\n[🚎ruby-2.6-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-2.6.yml\n[🚎ruby-2.7-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-2.7.yml\n[🚎ruby-3.0-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-3.0.yml\n[🚎ruby-3.1-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-3.1.yml\n[🚎ruby-3.2-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-3.2.yml\n[🚎ruby-3.3-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-3.3.yml\n[🚎ruby-3.4-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/ruby-3.4.yml\n[🚎jruby-9.2-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby-9.2.yml\n[🚎jruby-9.3-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby-9.3.yml\n[🚎jruby-9.4-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/jruby-9.4.yml\n[🚎truby-22.3-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-22.3.yml\n[🚎truby-23.0-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-23.0.yml\n[🚎truby-23.1-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-23.1.yml\n[🚎truby-24.2-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-24.2.yml\n[🚎truby-25.0-wf]: https://github.com/ruby-oauth/oauth/actions/workflows/truffleruby-25.0.yml\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[🚎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[🚎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_(%F0%9F%9A%ABCI)-AABBCC?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-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge\u0026logo=ruby\u0026logoColor=white\n[💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-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-34BCB1?style=for-the-badge\u0026logo=ruby\u0026logoColor=pink\n[💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?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-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge\u0026logo=ruby\u0026logoColor=pink\n[💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-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[💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge\u0026logo=ruby\u0026logoColor=red\n[💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?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]: https://github.com/ruby-oauth/oauth/blob/main/CONTRIBUTING.md\n[🏀codecov-g]: https://codecov.io/gh/ruby-oauth/oauth/graph/badge.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]: https://github.com/ruby-oauth/oauth/blob/main/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]: https://github.com/ruby-oauth/oauth/blob/main/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-0.950-FFDD67.svg?style=for-the-badge\u0026logo=YouTube\u0026logoColor=blue\n[🔐security]: https://github.com/ruby-oauth/oauth/blob/main/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.md\n[📄license-ref]: MIT.md\n[📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg\n[📄license-compat]: https://www.apache.org/legal/resolved.html#category-a\n[📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat\u0026logo=Apache\n\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\n\u003c!-- kettle-jem:metadata:start --\u003e\n| Field | Value |\n|---|---|\n| Package | oauth |\n| Description | 🔮 A Ruby wrapper for the original OAuth 1.0 / 1.0a spec. |\n| Homepage | https://github.com/ruby-oauth/oauth |\n| Source | https://github.com/ruby-oauth/oauth/tree/v1.1.6 |\n| License | `MIT` |\n| Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, 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://www.buymeacoffee.com/pboling |\n\u003c!-- kettle-jem:metadata:end --\u003e\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://liberapay.com/pboling/donate","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","https://issuehunt.io/u/pboling"],"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"}