如何为phabricator添加我自己的oauth提供程序?

时间:2016-03-16 04:51:50

标签: php phabricator

我想添加自己的oauth提供程序。阅读this后,我在phabricator/src/applications/auth/provider/中添加了PhabricatorFoobarAuthProvider.php,并在libphutil/src/auth/中添加了PhutilFoobarAuthAdapter.php,然后分别执行arc liberate。我希望看到Foobar提供商在此页面中显示:localhost/auth/config/new但我没有。我需要做些什么来达到目标​​?我忘记了一些步骤吗?感谢。

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

1 个答案:

答案 0 :(得分:3)

所以英语有点破,但我会尽我所能地回答这个问题。我认为你要做的就是弄清楚"我怎样才能添加自己的Oauth提供者?"。在这样做的过程中,你遇到了这个似乎正在做某事的神奇功能,但你不确定是什么。

PhutilClassMapQuery对于理解phabricator和arcanist至关重要。如果您grep -R "PhutilClassMapQuery" .,您会发现大约100个不同的地方。用作用户的每个地方都可以加载到您自己的类中,与Phabricator应用程序无缝集成。

我会以PhabricatorAuthProvider为例。如果你看here,你会发现这是一个抽象类。该函数的作用是在每个扩展当前类PhabricatorAuthProvider的类中加载。因此,如果您查看here,您可以看到此类提供了Persona身份验证,并且只需通过实现所需的功能即可实现。

我不打算完成剩下的工作,但你应该能够根据上面的内容找出其余部分,并使用这个link向您展示如何将类加载到Phabricator中。

希望你喜欢。 Phabricator是你会发现的一些最好的PHP代码。