{"id":15529755,"url":"https://github.com/jakewilkins/gh-device-flow","last_synced_at":"2025-04-23T12:56:20.916Z","repository":{"id":62445011,"uuid":"526710033","full_name":"jakewilkins/gh-device-flow","owner":"jakewilkins","description":"GitHub Device Authorization Flow in Rust","archived":false,"fork":false,"pushed_at":"2024-03-15T22:56:26.000Z","size":113,"stargazers_count":6,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T23:51:11.337Z","etag":null,"topics":["github-authentication","github-developer","rust","rust-cli","rust-crate"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/github-device-flow","language":"Rust","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/jakewilkins.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-19T18:16:30.000Z","updated_at":"2025-02-01T18:59:16.000Z","dependencies_parsed_at":"2024-01-26T03:26:07.565Z","dependency_job_id":"d9358e53-6a41-4b1e-baea-8d5daf84de67","html_url":"https://github.com/jakewilkins/gh-device-flow","commit_stats":{"total_commits":51,"total_committers":1,"mean_commits":51.0,"dds":0.0,"last_synced_commit":"c9fc3fbac23863ef8512991a2f3671cba50cd44d"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilkins%2Fgh-device-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilkins%2Fgh-device-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilkins%2Fgh-device-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakewilkins%2Fgh-device-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakewilkins","download_url":"https://codeload.github.com/jakewilkins/gh-device-flow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250439266,"owners_count":21430822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["github-authentication","github-developer","rust","rust-cli","rust-crate"],"created_at":"2024-10-02T11:19:49.442Z","updated_at":"2025-04-23T12:56:20.871Z","avatar_url":"https://github.com/jakewilkins.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"gh-device-flow\n==============\n\nCrate that implements the GitHub Device Flow for authenticating with GitHub Apps.\n\nIt also implements the refresh mechanism for GitHub Apps that use GitHub's token\nexpiration feature.\n\n\n## Usage\n\nTo use the CLI, download the binary for your architecture/OS from [the latest release](https://github.com/jakewilkins/gh-device-flow/releases/latest).\n\nOnce extracted, execute the command providing the Client ID for your App:\n\n```bash\ngithub-device-flow --client-id Iv1.8675309ABCDEFGH\n```\n\nThis will prompt you to open a browser window and provide the generated device code. Once completed, your access token will be printed to STDOUT as a JSON object. If your App requests refresh tokens one will also be printed.\n\nTo refresh your OAuth Access using a Refresh Token, pass it as a `--refresh` flag:\n\n```bash\ngithub-device-flow --client-id Iv1.8675309ABCDEFGH --refresh thisisnotarefreshtoken\n```\n\nTo view the full help, pass the `--help` flag:\n\n```\n$ github-device-flow --help\ngithub-device-flow 0.1.2\nBinary and library for performing the GitHub Device Flow\n\nUSAGE:\n    github-device-flow [OPTIONS] --client-id \u003cCLIENT_ID\u003e\n\nOPTIONS:\n    -c, --client-id \u003cCLIENT_ID\u003e    Client ID\n    -h, --host \u003cHOST\u003e              The host to authenticate with\n        --help                     Print help information\n    -r, --refresh \u003cREFRESH\u003e        A Refresh Token to exchange\n    -s, --scope \u003cSCOPE\u003e            The scope required for the auth app\n    -V, --version                  Print version information\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakewilkins%2Fgh-device-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakewilkins%2Fgh-device-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakewilkins%2Fgh-device-flow/lists"}