Connect Bitbucket Cloud with OAuth

You can enable users to work with a remote Git repository that is hosted in the Bitbucket Cloud:

  1. Set up an OAuth consumer (OAuth 2.0) in the Bitbucket Cloud.

  2. Apply an OAuth consumer Secret for the Bitbucket Cloud.

Create an OAuth consumer in the Bitbucket Cloud

Create an OAuth consumer in the Bitbucket Cloud so that Che can authenticate your developers and provide credential-free access to Bitbucket Cloud repositories.

Prerequisites
  • You are logged in to the Bitbucket Cloud.

Procedure
  1. Click your avatar and go to the All workspaces page.

  2. Select a workspace and click it.

  3. Go to Settings  OAuth consumers  Add consumer.

  4. Enter Che as the Name.

  5. Enter https://<che_fqdn>/api/oauth/callback as the Callback URL.

  6. Under Permissions, check all of the Account and Repositories checkboxes, and click Save.

  7. Expand the added consumer and then copy and save the Key value for use when applying the Bitbucket OAuth consumer Secret:

  8. Copy and save the Secret value for use when applying the Bitbucket OAuth consumer Secret.

Connect Che to your Bitbucket Cloud OAuth consumer

Connect Che to your Bitbucket Cloud OAuth consumer so that developers can access Bitbucket Cloud repositories from workspaces without re-entering credentials.

Prerequisites
  • You have configured the OAuth consumer in the Bitbucket Cloud.

  • You have the following values, which were generated when configuring the Bitbucket OAuth consumer:

    • Bitbucket OAuth consumer Key

    • Bitbucket OAuth consumer Secret

  • An active kubectl session with administrative permissions to the destination Kubernetes cluster. See Overview of kubectl.

Procedure
  1. Prepare the Secret:

    kind: Secret
    apiVersion: v1
    metadata:
      name: bitbucket-oauth-config
      namespace: eclipse-che (1)
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: bitbucket
    type: Opaque
    stringData:
      id: <Bitbucket_Oauth_Consumer_Key> (2)
      secret: <Bitbucket_Oauth_Consumer_Secret> (3)
    1 The Che namespace. The default is eclipse-che.
    2 The Bitbucket OAuth consumer Key.
    3 The Bitbucket OAuth consumer Secret.
  2. Apply the Secret:

    $ kubectl apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
Verification
  • Verify that the output displays secret/bitbucket-oauth-config created.