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


How to add my own oauth provider for phabricator?

我想添加我自己的oauth提供程序。读完这篇文章后,我在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/

所以英语有点坏,但我会尽我所能回答这个问题。我假设您要做的是弄清楚"如何添加自己的 Oauth 提供程序?在这样做的过程中,你遇到了这个神奇的功能,它似乎在做某事,但你不确定是什么。

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

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

我不打算完成其余部分,但您应该能够根据上述内容找出其余部分,并使用此链接向您展示如何将类加载到 Phabricator 中。

希望你喜欢。Phabricator是你能找到的最好的PHP代码之一。