chaoss / chaoss/grimoirelab-perceval
Add support for Connect apps and OAuth 2/3 for Jira
- Dominant language
- Python
- Stars
- 324
- Forks
- 187
- PR merge metrics
- No merged PRs in 30d
Description
Hi, Perceval only supports Jira backend either as an anonymous user (without providing any credentials at all) or basic auth (via username/password pair).
- Anonymous access if often disabled on existing Jira instances.
- Basic auth is only enabled on few Jira instances, most switched to either OAuth 2/3 or Connect Apps. Additionally, basic auth is not recommended, see [here](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/) (REST API basic authentication is deprecated and will be removed in the future).
Connect apps is the newest and most recommended way of supporting authentication/authorization (it uses JWT tokens, also the Linux Foundation uses JWT token for its Linux Foundation ID (LFID) logins - many LF projects Jiras use this - example ONAP, OPNFV and many more).
Documentation for connect apps is [here](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/) and for OAuth is [here](https://developer.atlassian.com/cloud/jira/platform/oauth-2-authorization-code-grants-3lo-for-apps/)and [there](https://developer.atlassian.com/cloud/jira/platform/jira-rest-api-oauth-authentication/).
This is an important improvement because the current state of Jira backend actually almost blocks Jira usage (it *only* works in anonymous mode or in deprecated basic auth mode which is usually disabled in most Jira instances).
Contributor guide
Research direction
Start by reviewing Perceval’s existing Jira backend authentication path and the linked Atlassian documentation for Connect apps and OAuth. Determine the supported authentication flows and their completion criteria, then identify the relevant tests needed to verify authenticated Jira access; the issue names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, authentication, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100