{"meta":{"title":"Authenticating with a GitHub App","intro":"Learn how to authenticate with GitHub Apps.","product":"Apps","breadcrumbs":[{"href":"/en/enterprise-cloud@latest/apps","title":"Apps"},{"href":"/en/enterprise-cloud@latest/apps/creating-github-apps","title":"Creating GitHub Apps"},{"href":"/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app","title":"Authenticate with a GitHub App"}],"documentType":"subcategory"},"body":"# Authenticating with a GitHub App\n\nLearn how to authenticate with GitHub Apps.\n\n## Links\n\n* [About authentication with a GitHub App](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app)\n\n  Your GitHub App can authenticate as itself, as an app installation, or on behalf of a user.\n\n* [Authenticating as a GitHub App](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app)\n\n  You can authenticate as a GitHub App in order to generate an installation access token or manage your app.\n\n* [Authenticating as a GitHub App installation](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation)\n\n  You can make your GitHub App authenticate as an installation in order to make API requests that affect resources owned by the account where the app is installed.\n\n* [Authenticating with a GitHub App on behalf of a user](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user)\n\n  Your GitHub App can perform actions on behalf of a user, like creating an issue, posting a comment, or creating a deployment.\n\n* [Managing private keys for GitHub Apps](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps)\n\n  You can manage private keys to authenticate with your GitHub App.\n\n* [Generating a JSON Web Token (JWT) for a GitHub App](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-json-web-token-jwt-for-a-github-app)\n\n  Learn how to create a JSON Web Token (JWT) to authenticate to certain REST API endpoints with your GitHub App.\n\n* [Generating an installation access token for a GitHub App](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app)\n\n  Learn how to generate an installation access token for your GitHub App.\n\n* [Generating a user access token for a GitHub App](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n\n  You can generate a user access token for your GitHub App in order to attribute app activity to a user.\n\n* [Refreshing user access tokens](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/refreshing-user-access-tokens)\n\n  To enforce regular token rotation and reduce the impact of a compromised token, you can configure your GitHub App to use user access tokens that expire.\n\n* [Making authenticated API requests with a GitHub App in a GitHub Actions workflow](/en/enterprise-cloud@latest/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow)\n\n  You can use an installation access token from a GitHub App to make authenticated API requests in a GitHub Actions workflow. You can also pass the token to a custom action to enable the action to make authenticated API requests."}