我想添加我自己的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代码之一。