Skip to content

v1.0.0

Compare
Choose a tag to compare
@jferrl jferrl released this 01 Jun 22:09
· 14 commits to main since this release

We are excited to announce the release of githubauth v1.0.0. This initial release provides a set of features for GitHub authentication, enabling developers to easily generate and manage GitHub App tokens and installation tokens.

New Features

GitHub App Token Generation

  • Generate JSON Web Tokens (JWT) for GitHub Apps:
    • Function: NewApplicationTokenSource
    • Description: Create a new GitHub App token source using the App ID and a private key.
    • Customizable token expiration with the WithApplicationTokenExpiration option.

GitHub App Installation Token Generation

  • Obtain Installation Tokens:
    • Function: NewInstallationTokenSource
    • Description: Create a new GitHub App installation token source to authenticate as a specific installation.
    • Options to set HTTP client and installation token options using WithHTTPClient and WithInstallationTokenOptions.

Improvements

  • Compliance with GitHub's Security Requirements:
    • Ensures JWT expiration time is no more than 10 minutes into the future.
    • Protects against clock drift by setting the token issue time 60 seconds in the past.

Documentation

  • Comprehensive README with detailed usage examples.
  • Explanation of how the package implements the TokenSource interface from golang.org/x/oauth2.

Installation

To install the package, use:

go get -u github.com/yourusername/githubauth


**Full Changelog**: https://github.com/jferrl/go-githubauth/commits/v1.0.0