debian-mirror-gitlab/doc/integration/bitbucket.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

128 lines
4.9 KiB
Markdown
Raw Normal View History

2021-01-29 00:20:46 +05:30
---
2022-07-16 23:28:13 +05:30
stage: Manage
group: Authentication and Authorization
2021-02-22 17:27:13 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2021-01-29 00:20:46 +05:30
---
2021-11-18 22:05:49 +05:30
# Integrate your GitLab server with Bitbucket Cloud **(FREE SELF)**
2015-04-26 12:48:37 +05:30
2021-11-11 11:23:49 +05:30
You can set up Bitbucket.org as an OAuth 2.0 provider to use your Bitbucket.org
account credentials to sign in to GitLab. You can also import your projects from
2016-09-29 09:46:39 +05:30
Bitbucket.org.
2015-04-26 12:48:37 +05:30
2021-01-29 00:20:46 +05:30
- To use Bitbucket.org as an OmniAuth provider, follow the
[Bitbucket OmniAuth provider](#bitbucket-omniauth-provider) section.
2016-09-29 09:46:39 +05:30
- To import projects from Bitbucket, follow both the
[Bitbucket OmniAuth provider](#bitbucket-omniauth-provider) and
[Bitbucket project import](#bitbucket-project-import) sections.
2015-04-26 12:48:37 +05:30
2016-09-29 09:46:39 +05:30
## Bitbucket OmniAuth provider
2015-04-26 12:48:37 +05:30
2016-09-29 09:46:39 +05:30
To enable the Bitbucket OmniAuth provider you must register your application
2021-01-29 00:20:46 +05:30
with Bitbucket.org. Bitbucket generates an application ID and secret key for
2016-09-29 09:46:39 +05:30
you to use.
2015-04-26 12:48:37 +05:30
2021-04-17 20:07:23 +05:30
WARNING:
To help prevent an [OAuth 2 covert redirect](https://oauth.net/advisories/2014-1-covert-redirect/)
vulnerability in which users' GitLab accounts could be compromised, append `/users/auth`
to the end of the Bitbucket authorization callback URL.
2019-09-30 21:07:59 +05:30
1. Sign in to [Bitbucket.org](https://bitbucket.org).
1. Navigate to your individual user settings (**Bitbucket settings**) or a team's
settings (**Manage team**), depending on how you want the application registered.
It does not matter if the application is registered as an individual or a
team, that is entirely up to you.
2021-01-29 00:20:46 +05:30
1. In the left menu under **Access Management**, select **OAuth**.
2019-09-30 21:07:59 +05:30
1. Select **Add consumer**.
1. Provide the required details:
2021-01-29 00:20:46 +05:30
- **Name:** This can be anything. Consider something like `<Organization>'s GitLab`
or `<Your Name>'s GitLab` or something else descriptive.
2022-01-26 12:08:38 +05:30
- **Application description:** Optional. Fill this in if you wish.
2021-01-29 00:20:46 +05:30
- **Callback URL:** (Required in GitLab versions 8.15 and greater)
The URL to your GitLab installation, such as
2021-04-17 20:07:23 +05:30
`https://gitlab.example.com/users/auth`.
2021-01-29 00:20:46 +05:30
Leaving this field empty
[results in an `Invalid redirect_uri` message](https://confluence.atlassian.com/bitbucket/oauth-faq-338365710.html).
- **URL:** The URL to your GitLab installation, such as `https://gitlab.example.com`.
2019-09-30 21:07:59 +05:30
2021-01-29 00:20:46 +05:30
1. Grant at least the following permissions:
2019-09-30 21:07:59 +05:30
2020-04-22 19:07:51 +05:30
```plaintext
2019-09-30 21:07:59 +05:30
Account: Email, Read
Projects: Read
Repositories: Read
Pull Requests: Read
Issues: Read
Wiki: Read and Write
```
![Bitbucket OAuth settings page](img/bitbucket_oauth_settings_page.png)
1. Select **Save**.
2021-01-29 00:20:46 +05:30
1. Select your newly created OAuth consumer, and you should now see a **Key** and
**Secret** in the list of OAuth consumers. Keep this page open as you continue
2019-09-30 21:07:59 +05:30
the configuration.
![Bitbucket OAuth key](img/bitbucket_oauth_keys.png)
1. On your GitLab server, open the configuration file:
2020-04-22 19:07:51 +05:30
```shell
2019-09-30 21:07:59 +05:30
# For Omnibus packages
sudo editor /etc/gitlab/gitlab.rb
# For installations from source
sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
```
1. Add the Bitbucket provider configuration:
For Omnibus packages:
```ruby
gitlab_rails['omniauth_providers'] = [
{
2022-01-26 12:08:38 +05:30
name: "bitbucket",
# label: "Provider name", # optional label for login button, defaults to "Bitbucket"
app_id: "BITBUCKET_APP_KEY",
app_secret: "BITBUCKET_APP_SECRET",
url: "https://bitbucket.org/"
2019-09-30 21:07:59 +05:30
}
]
```
For installations from source:
```yaml
omniauth:
enabled: true
providers:
- { name: 'bitbucket',
2022-01-26 12:08:38 +05:30
# label: 'Provider name', # optional label for login button, defaults to "Bitbucket"
2019-09-30 21:07:59 +05:30
app_id: 'BITBUCKET_APP_KEY',
app_secret: 'BITBUCKET_APP_SECRET',
url: 'https://bitbucket.org/' }
```
Where `BITBUCKET_APP_KEY` is the Key and `BITBUCKET_APP_SECRET` the Secret
from the Bitbucket application page.
1. Save the configuration file.
2021-03-08 18:12:59 +05:30
1. For the changes to take effect, [reconfigure GitLab](../administration/restart_gitlab.md#omnibus-gitlab-reconfigure)
if you installed using Omnibus GitLab, or [restart](../administration/restart_gitlab.md#installations-from-source)
if you installed from source.
2015-04-26 12:48:37 +05:30
2021-01-29 00:20:46 +05:30
On the sign-in page there should now be a Bitbucket icon below the regular
2022-07-23 23:45:48 +05:30
sign-in form. Select the icon to begin the authentication process. Bitbucket asks
2021-01-29 00:20:46 +05:30
the user to sign in and authorize the GitLab application. If successful, the user
is returned to GitLab and signed in.
2015-04-26 12:48:37 +05:30
## Bitbucket project import
2021-01-29 00:20:46 +05:30
After the above configuration is set up, you can use Bitbucket to sign into
2020-04-22 19:07:51 +05:30
GitLab and [start importing your projects](../user/project/import/bitbucket.md).
2015-04-26 12:48:37 +05:30
2018-11-18 11:00:15 +05:30
If you want to import projects from Bitbucket, but don't want to enable signing in,
2022-07-16 23:28:13 +05:30
you can [disable Sign-Ins in the Admin Area](omniauth.md#enable-or-disable-sign-in-with-an-omniauth-provider-without-disabling-import-sources).