2016-03-16 10 views
0

Я хочу добавить своего собственного поставщика oauth. Прочитав this, я добавил PhabricatorFoobarAuthProvider.php в phabricator/src/applications/auth/provider/ и добавил PhutilFoobarAuthAdapter.php в libphutil/src/auth/, а затем выполнил arc liberate отдельно. Я ожидал увидеть провайдера Foobar для показа на этой странице: localhost/auth/config/new, но я этого не сделал. Что мне нужно для достижения цели? Я забыл некоторые шаги? Благодарю.Как добавить моего собственного поставщика oauth для фабрикатора?

I use `install_ubuntu.sh` to install phabricator. The layout is like this: 
    phab 
    ....install_ubunut.sh 
    ....arcanist/ 
    ....libphutil/ 
    ....phabricator/ 
+0

Что конкретно вы пытаетесь достичь? –

+0

Я хочу добавить свой собственный сервер pirvate oauth, который позволяет пользователям входить в фабрикат. –

ответ

3

Таким образом, английский немного сломан, но я отвечу на это как можно лучше. Я предполагаю, что вы пытаетесь выяснить, «как я могу добавить своего собственного поставщика Oauth?». При этом вы сталкивались с этой магической функцией, которая, кажется, что-то делает, но вы не знаете, что.

PhutilClassMapQuery необходим для понимания фабрикатора и арканиста. Если вы grep -R "PhutilClassMapQuery" ., вы найдете около 100 различных мест, в которых он используется. Каждое место, которое используется вами, как пользователь, может загружать в ваши собственные классы, которые легко интегрируются с приложением Phabricator.

В качестве примера я буду использовать PhabricatorAuthProvider. Если вы посмотрите here, вы заметите, что это абстрактный класс. То, что делает эта функция, - это загрузка в каждом классе, которая расширяет текущий класс PhabricatorAuthProvider. Итак, в качестве примера, если вы посмотрите here, вы можете видеть, что этот класс обеспечивает аутентификацию Persona, и это происходит просто путем реализации необходимых функций.

Я не собираюсь проходить через все это, но вы должны быть в состоянии выяснить остальное на основе вышеизложенного и использовать этот link, который покажет вам, как загрузить свои классы в Phabricator.

Надеюсь, вам понравится. Phabricator - один из самых красивых PHP-кода, который вы найдете.

+0

Да. Это мой вопрос. Я хочу только расширить функции (добавить свой собственный сервер oauth). Полезные ссылки, которые вы мне даете. Огромное спасибо. –

+0

Не проблема, пожалуйста, примите решение, решив проблему. – mschuett

+0

другой вопрос. для моего вопроса я добавил PhabricatorFoobarAuthProvider.php в 'phabricator/src/applications/auth/provider /' и добавил PhutilFoobarAuthAdapter.php в 'libphutil/src/auth /', а затем выполнил 'arc liberate'. Но я не вижу его на странице localhost/auth/config/new '. Какой шаг я забыл? @mschuett –

Смежные вопросы