Welcome to mirror list, hosted at ThFree Co, Russian Federation.

README.md « omniauth-gitlab « gems « vendor - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: f22f14266f62f7fbbfdec5faaefd464918fd41f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Omniauth::Gitlab

This is fork of [omniauth-gitlab](https://github.com/linchus/omniauth-gitlab) to support:

1. OmniAuth v1 and v2. OmniAuth v2 disables GET requests by default
   and defaults to POST. GitLab already has patched v1 to use POST,
   but other dependencies need to be updated:
   https://gitlab.com/gitlab-org/gitlab/-/issues/30073.

2. [`oauth2`](https://github.com/oauth-xx/oauth2) v1.4.9 and up.
   [v1.4.9 fixed relative URL handling](https://github.com/oauth-xx/oauth2/pull/469).

   However, this breaks the default GitLab.com configuration and
   existing configurations that use the `/api/v4` suffix in the `site`
   parameter.
   [omniauth-gitlab v4.0.0 fixed the first issue](https://github.com/linchus/omniauth-gitlab/pull/22),
   but the second issue requires an admin to update `site` to drop the suffix.

   This fork restores backwards compatibility that was removed in omniauth-gitlab v2.0.0:
   https://github.com/linchus/omniauth-gitlab/commit/bb4cec2c9f8f067fdfe1f9aa219973e5d8e4a0a3

[![Join the chat at https://gitter.im/linchus/omniauth-gitlab](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/linchus/omniauth-gitlab?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

This is the OAuth2 strategy for authenticating to your GitLab service.

## Requirements

Gitlab 7.7.0+
 
## Installation

Add this line to your application's Gemfile:

    gem 'omniauth-gitlab'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install omniauth-gitlab

## Basic Usage

    use OmniAuth::Builder do
      provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET']
    end

## Standalone Usage

    use OmniAuth::Builder do
      provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET'],
        {
           client_options: {
             site: 'https://gitlab.YOURDOMAIN.com/api/v4'
           }
        }
    end

## Custom scopes

By default, the `api` scope is requested and must be allowed in GitLab's application configuration. To use different scopes:

    use OmniAuth::Builder do
      provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET'], scope: 'read_user openid'
    end

Requesting a scope that is not configured will result the error "The requested scope is invalid, unknown, or malformed.".

## Old API version

API V3 will be unsupported from GitLab 9.5 and will be removed in GitLab 9.5 or later.

[https://gitlab.com/help/api/v3_to_v4.md](https://gitlab.com/help/api/v3_to_v4.md)

If you use GitLab 9.0 and below you could configure V3 API:

    use OmniAuth::Builder do
      provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET'],
        {
           client_options: {
             site: 'https://gitlab.YOURDOMAIN.com/api/v3'
           }
        }
    end

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request