Crate github_app_auth[][src]

Expand description

This crate provides a library for authenticating with the GitHub API as a GitHub app. See Authenticating with GitHub Apps for details about the authentication flow.

Example:

use github_app_auth::{GithubAuthParams, InstallationAccessToken};

// The token is mutable because the installation access token must be
// periodically refreshed. See the `GithubAuthParams` documentation
// for details on how to get the private key and the two IDs.
let mut token = InstallationAccessToken::new(GithubAuthParams {
    user_agent: "my-cool-user-agent".into(),
    private_key: b"my private key".to_vec(),
    app_id: 1234,
    installation_id: 5678,
}).await.expect("failed to get installation access token");

// Getting the authentication header will automatically refresh
// the token if necessary, but of course this operation can fail.
let header = token.header().await.expect("failed to get authentication header");

token.client.post("https://some-github-api-url").headers(header).send().await;

Structs

Input parameters for authenticating as a GitHub app. This is used to get an installation access token.

An installation access token is the primary method for authenticating with the GitHub API as an application.

Enums

Authentication error enum.