GitHub Authentication Module
This authentication module lets users log in to YouTrack with their GitHub credentials.
Enable GitHub Authentication
To allow users with existing GitHub accounts to log in to YouTrack, enable the GitHub authentication module.
This procedure takes place in three steps:
Generate a Callback URL in YouTrack. When you create an authentication module for GitHub, YouTrack generates a callback URL to use with this service. This URL identifies the source of each login request to GitHub.
Generate a Client ID and Secret in GitHub. Every login request sent from YouTrack to GitHub includes a unique identifier. The ID and secret you store in the authentication module tell GitHub that each login request is authorized.
Enable the Auth Module in YouTrack. When you have generated the information YouTrack uses to authenticate with GitHub, copy the values into YouTrack and enable the module.
Prerequisites
Before you start, verify the following requirements:
You have Create Auth Module and Update Auth Module permissions in YouTrack.
You have a registered GitHub OAuth application.
Generate a Callback URL in YouTrack
In the Access Management section of the Administration menu, select Auth Modules.
- From the Add Module drop-down list, select GitHub.
The Auth Modules page displays the settings for a new GitHub authentication module.
YouTrack generates a callback URL for you to use in GitHub.
Copy the callback URL as instructed on the page.
- Click the link to access the New OAth Application page inGitHub.
Generate a Client ID and Secret in GitHub
Log in to your GitHub account.
Specify the general parameters to register a new OAuth application: Name, Homepage URL, and optional Application Description.
In the Authorization callback URL, paste the callback URL you copied from the Auth Module page in YouTrack.
- Click the Register application button.
GitHub generates the credentials you need to set up the YouTrack module and displays them at the top of the page.
Enable the Auth Module in YouTrack
Copy the client ID from GitHub and paste it into the Client ID input field in YouTrack.
Copy the client secret from GitHub and paste it into the Client Secret input field in YouTrack.
Configure the optional settings for the authentication module. For more information, see Settings.
- Click the Enable module button.
The GitHub authentication module is enabled.
The icon stored in the Button Image setting is added to the login dialog window. Users can click this icon to authenticate with their GitHub accounts.
Settings
Field | Description |
---|---|
Type | Displays the name of the application or service that is enabled for third-party authentication in YouTrack. |
Name | Stores the name of the authentication module. Use this setting to distinguish this module from other authentication modules in the Auth Modules list. |
Authentication | Displays the current status of the module. This status indicates whether the module is currently enabled or disabled. |
Audit | Links to the Audit Events page in YouTrack. There, you can view a list of changes that were applied to this authentication module. |
Server URL | Displays the URL of the server to which YouTrack sends a login request when a user logs in with a GitHub account. |
Client ID | Stores the identifier GitHub uses to validate a login request. You generate this value in GitHub when you configure the authorization settings for an application and enter a callback URL. |
Client Secret | Stores the secret or password used to validate the client ID. You generate this value in GitHub together with the client ID. |
Button Image | Displays the image used for the button that a user clicks to log in to YouTrack with a GitHub account. |
Create Users | Enables creation of YouTrack accounts for unregistered users who log in with a GitHub account. YouTrack uses the email address to determine whether the user has an existing account. |
Auto-join Groups | Adds users to a group when they log in with their GitHub accounts. You can select one or more groups. New users that auto-join a group inherit all of the permissions assigned to this group. |