Page MenuHomePhabricator

Support GitHub Enterprise as an OAuth Provider
Closed, WontfixPublic

Description

The Auth application can only OAuth via Github.com
But we would like to connect the GIT on our own company.
Would this feature provided?

Event Timeline

telenths raised the priority of this task from to Needs Triage.
telenths updated the task description. (Show Details)
telenths added a subscriber: telenths.

Do you mean you have GitHub Enterprise? Git itself does not offer OAuth, as far as I know.

chad added a subscriber: chad.

Thanks Evan for your response.
Yes, our company is using GitHub Enterprise and I wish to integrate Pphabricator with it.

Our current pain is GItHub Enterprise is not providing good Code Review function. And if Phabricator need auth with username/password we will need everyone link their GitHub name with Phabricator username, and I doubt no much people want to use it then.
I wish if we can let phabricator Auth with our GitHub Enterprise OAuth, it can recognize code commiter in GitHub as well. So everything is linked.

The company GitHub is with URL of github.company.com, but when I try to use Auth app in Phabricator it is only connecting github.com
I think it could be a simple enhancement to config Phabricator and enable it to connect github.company.com as well.

Many Thanks
Elvin

You could just use Phabricator for everything. :)

In T5210#8, @chad wrote:

You could just use Phabricator for everything. :)

Yes, it works great.

But I think GitHub Enterprise is not really supported so far.

I tried to modify PhabricatorAuthOldOAuthRedirectController.php

$provider_map = array(
  'google' => 'google:google.com',
  'github' => 'github:github.company.com',
);

But seems not working.

epriestley renamed this task from Auth is not accepting company GIT to Support GitHub Enterprise as an OAuth Provider.Jun 8 2014, 8:00 PM
epriestley triaged this task as Low priority.
epriestley added a project: Auth.

Yeah, we don't currently support GitHub enterprise as an auth provider.

Judging by the code, it looks like the OAuth logic is fairly cleanly separated from the various specific OAuth implementations (which inherit from it). Instead of (or as well as) giving us a collection of hardcoded GitHub/Amazon/Asana/Disqus OAuth providers in the auth options, could there just be a catch-all configurable OAuth provider option?

I don't believe it is practical to modularize OAuth more than it is already modularized. OAuth doesn't define how to get information about user accounts (like email, account ID, profile picture, etc)., so the GitHub vs Amazon vs Etc choice is irreducible.

We could push it a layer deeper and let you select it later in the process, but that would just make the URI/Tokens interface worse, since it wouldn't be able to provide tailored instructions for how to find the correct tokens.

Aha, I see. The only real difference between GitHub Enterprise and GitHub.com is a couple of URLs (github.com -> yourdomain, and api.github.com -> yourdomain/api/v3/), which is what I was hoping to be able to configure with my proposal :(

This is conceptually easy but we have no outstanding requests from customers.