mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-09 04:36:11 +10:00
Merge branch 'fix-broken-new-project-import' into 'master'
Fix OAuth2 issue importing a new project from GitHub and GitLab
It appears that the GitLab OAuth2 client options were converted to strings instead of symbols when merged with the default options (i.e. `{}.merge(github_options)`). As a result, the OAuth2 defaults were being used. For example, the OAuth2 client options would have a key with `authorize_url` and `:authorize_url`, but the former was never used. As a result, the OAuth2 client would always use the wrong URL to talk to GitHub.
Note that this bug should also have affected GitLab, but not Bitbucket: The OAuth client is careful to convert all keys to symbols.
Closes #1268
See merge request !425
This commit is contained in:
committed by
Marin Jankovski
parent
6b3cff19e9
commit
325cedebe3
@@ -1,5 +1,33 @@
|
||||
Please view this file on the master branch, on stable branches it's out of date.
|
||||
|
||||
v 7.10.0 (unreleased)
|
||||
- Fix "Import projects from" button to show the correct instructions (Stan Hu)
|
||||
- Fix dots in Wiki slugs causing errors (Stan Hu)
|
||||
- Fix OAuth2 issue importing a new project from GitHub and GitLab (Stan Hu)
|
||||
- Update poltergeist to version 1.6.0 to support PhantomJS 2.0 (Zeger-Jan van de Weg)
|
||||
- Fix cross references when usernames, milestones, or project names contain underscores (Stan Hu)
|
||||
- Disable reference creation for comments surrounded by code/preformatted blocks (Stan Hu)
|
||||
- enable line wrapping per default and remove the checkbox to toggle it (Hannes Rosenögger)
|
||||
- extend the commit calendar to show the actual commits made on a date (Hannes Rosenögger)
|
||||
- Fix a link in the patch update guide
|
||||
- Add a service to support external wikis (Hannes Rosenögger)
|
||||
- List new commits for newly pushed branch in activity view.
|
||||
- Add sidetiq gem dependency to match EE
|
||||
- Add changelog, license and contribution guide links to project sidebar.
|
||||
- Improve diff UI
|
||||
- Fix alignment of navbar toggle button (Cody Mize)
|
||||
- Identical look of selectboxes in UI
|
||||
- Move "Import existing repository by URL" option to button.
|
||||
- Improve error message when save profile has error.
|
||||
- Passing the name of pushed ref to CI service (requires GitLab CI 7.9+)
|
||||
- Add location field to user profile
|
||||
- Fix print view for markdown files and wiki pages
|
||||
- Improve GitLab performance when working with git repositories
|
||||
- Add tag message and last commit to tag hook (Kamil Trzciński)
|
||||
- Restrict permissions on backup files
|
||||
- Improve oauth accounts UI in profile page
|
||||
- Add ability to unlink connected accounts
|
||||
|
||||
v 7.9.0 (unreleased)
|
||||
- Add HipChat integration documentation (Stan Hu)
|
||||
- Update documentation for object_kind field in Webhook push and tag push Webhooks (Stan Hu)
|
||||
|
||||
@@ -62,7 +62,7 @@ module Gitlab
|
||||
end
|
||||
|
||||
def find_deploy_key(project_identifier, key)
|
||||
JSON.parse(api.get("/api/1.0/repositories/#{project_identifier}/deploy-keys").body).find do |deploy_key|
|
||||
JSON.parse(api.get("/api/1.0/repositories/#{project_identifier}/deploy-keys").body).find do |deploy_key|
|
||||
deploy_key["key"].chomp == key.chomp
|
||||
end
|
||||
end
|
||||
@@ -92,7 +92,7 @@ module Gitlab
|
||||
end
|
||||
|
||||
def bitbucket_options
|
||||
OmniAuth::Strategies::Bitbucket.default_options[:client_options].dup
|
||||
OmniAuth::Strategies::Bitbucket.default_options[:client_options].symbolize_keys
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -46,7 +46,7 @@ module Gitlab
|
||||
end
|
||||
|
||||
def github_options
|
||||
OmniAuth::Strategies::GitHub.default_options[:client_options].dup
|
||||
OmniAuth::Strategies::GitHub.default_options[:client_options].symbolize_keys
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -71,7 +71,7 @@ module Gitlab
|
||||
end
|
||||
|
||||
def gitlab_options
|
||||
OmniAuth::Strategies::GitLab.default_options[:client_options].dup
|
||||
OmniAuth::Strategies::GitLab.default_options[:client_options].symbolize_keys
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::BitbucketImport::Client do
|
||||
let(:token) { '123456' }
|
||||
let(:secret) { 'secret' }
|
||||
let(:client) { Gitlab::BitbucketImport::Client.new(token, secret) }
|
||||
|
||||
before do
|
||||
Gitlab.config.omniauth.providers << OpenStruct.new(app_id: "asd123", app_secret: "asd123", name: "bitbucket")
|
||||
end
|
||||
|
||||
it 'all OAuth client options are symbols' do
|
||||
client.consumer.options.keys.each do |key|
|
||||
expect(key).to be_kind_of(Symbol)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,16 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::GithubImport::Client do
|
||||
let(:token) { '123456' }
|
||||
let(:client) { Gitlab::GithubImport::Client.new(token) }
|
||||
|
||||
before do
|
||||
Gitlab.config.omniauth.providers << OpenStruct.new(app_id: "asd123", app_secret: "asd123", name: "github")
|
||||
end
|
||||
|
||||
it 'all OAuth2 client options are symbols' do
|
||||
client.client.options.keys.each do |key|
|
||||
expect(key).to be_kind_of(Symbol)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,16 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::GitlabImport::Client do
|
||||
let(:token) { '123456' }
|
||||
let(:client) { Gitlab::GitlabImport::Client.new(token) }
|
||||
|
||||
before do
|
||||
Gitlab.config.omniauth.providers << OpenStruct.new(app_id: "asd123", app_secret: "asd123", name: "gitlab")
|
||||
end
|
||||
|
||||
it 'all OAuth2 client options are symbols' do
|
||||
client.client.options.keys.each do |key|
|
||||
expect(key).to be_kind_of(Symbol)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user