MCPcopy Index your code
hub / github.com/cloudflare/cloudflare-access-for-atlassian

github.com/cloudflare/cloudflare-access-for-atlassian @v3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.0.0 ↗ · + Follow
386 symbols 958 edges 74 files 7 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cloudflare Access For Atlassian

This project implements a set of plugins for authenticating users through Cloudflare Access on Atlassian products.

Currently supported Atlassian products versions: - JIRA >= 10 - Confluence 9 - Bitbucket >= 9

⚠️ Earlier Atlassian products versions

For earlier versions of Atlassian products, you must use up to plugin version 2.x.

Previously supported versions are: - JIRA >= 7.2 until 9.x - Confluence 6,7,8 - Bitbucket >= 6.x until 8.x

Installation

These instructions apply to all supported Atlassian products, installed locally.

  1. Download the respective plugin from Releases page
  2. Login in the Atlassian application as administrator
  3. Go to Manage add-ons on the administration page or menu
  4. Select Upload add-on and upload the JAR you downloaded
  5. Go to System configuration or administration page
  6. Go to Cloudflare Access menu on the left side menu
  7. Setup your Cloudflare Access and server details

Plugin Configuration

The configuration screen looks like below in all Atlassian products and the values to be placed in the required fields are available in your Cloudflare Access configuration.

Option Description
Token Audience (required) Audience(s) from Cloudflare Access configuration page. Multiple audiences are allowed for the same authentication domain.
Authentication Domain (required) Cloudflare Access configured authentication domain
Allowed Email Domain Emails that match this domain will authorize with their Access JWT. All other emails will be required authorize again with their Atlassian credentials.
Match users by Users can be matched by email or username field

PLugin configuration screen

The configuration is stored and is kept between plugin and Atlassian updates.

Updates

Whenever a new version is released, admins will get a notification in Atlassian product UI indicating that a new version is available.

Other Documentation Links

Extension points exported contracts — how you extend this code

CloudflarePluginDetails (Interface)
(no doc) [6 implementers]
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/auth/CloudflarePluginDetails.java
AuthenticationContext (Interface)
(no doc) [5 implementers]
common/src/main/java/com/cloudflare/access/atlassian/common/context/AuthenticationContext.java
SuccessfulAuthenticationRequestHandler (Interface)
(no doc) [10 implementers]
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/auth/SuccessfulAuthenticationRequestHandler.java
FailedAuthenticationRequestHandler (Interface)
(no doc) [4 implementers]
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/auth/FailedAuthenticationRequestHandler.java
AtlassianUserService (Interface)
(no doc) [2 implementers]
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/auth/AtlassianUserService.java
ConfigurationService (Interface)
(no doc) [2 implementers]
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/ConfigurationService.java

Core symbols most depended-on inside this repo

getSession
called by 20
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/auth/AtlassianLoginFlowRequestWrapper.java
doFilter
called by 19
bitbucket-plugin/src/main/java/com/cloudflare/access/atlassian/bitbucket/auth/CloudflareAccessLogoutFilter.java
get
called by 16
common/src/main/java/com/cloudflare/access/atlassian/common/http/SimpleHttp.java
validate
called by 15
common/src/main/java/com/cloudflare/access/atlassian/common/TokenVerifier.java
processAuthRequest
called by 12
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/auth/CloudflareAccessService.java
getTokenAudiences
called by 12
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/ConfigurationVariablesActiveObject.java
error
called by 11
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/ConfigSaveResult.java
toString
called by 9
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/ConfigurationVariables.java

Shape

Method 307
Class 65
Interface 11
Enum 3

Languages

Java100%

Modules by API surface

common/src/test/java/com/cloudflare/access/atlassian/common/TokenVerifierTest.java18 symbols
base-plugin/src/test/java/com/cloudflare/access/atlassian/base/auth/CloudflareAccessServiceTest.java16 symbols
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/auth/CloudflareAccessService.java15 symbols
common/src/main/java/com/cloudflare/access/atlassian/common/TokenVerifier.java13 symbols
common/src/test/java/com/cloudflare/access/atlassian/common/TestVerificationContext.java12 symbols
base-plugin/src/test/java/com/cloudflare/access/atlassian/base/support/GithubVersionProviderTest.java12 symbols
base-plugin/src/test/java/com/cloudflare/access/atlassian/base/auth/TestAuthenticationContext.java12 symbols
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/ConfigurationServlet.java12 symbols
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/impl/DefaultConfigurationService.java11 symbols
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/PersistentPluginConfiguration.java11 symbols
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/config/ConfigurationVariablesActiveObject.java10 symbols
base-plugin/src/main/java/com/cloudflare/access/atlassian/base/utils/SessionUtils.java9 symbols

For agents

$ claude mcp add cloudflare-access-for-atlassian \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact