我想添加自己的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/
答案 0 :(得分:3)
所以英语有点破,但我会尽我所能地回答这个问题。我认为你要做的就是弄清楚"我怎样才能添加自己的Oauth提供者?"。在这样做的过程中,你遇到了这个似乎正在做某事的神奇功能,但你不确定是什么。
PhutilClassMapQuery对于理解phabricator和arcanist至关重要。如果您grep -R "PhutilClassMapQuery" .
,您会发现大约100个不同的地方。用作用户的每个地方都可以加载到您自己的类中,与Phabricator应用程序无缝集成。
我会以PhabricatorAuthProvider
为例。如果你看here,你会发现这是一个抽象类。该函数的作用是在每个扩展当前类PhabricatorAuthProvider
的类中加载。因此,如果您查看here,您可以看到此类提供了Persona身份验证,并且只需通过实现所需的功能即可实现。
我不打算完成剩下的工作,但你应该能够根据上面的内容找出其余部分,并使用这个link向您展示如何将类加载到Phabricator中。
希望你喜欢。 Phabricator是你会发现的一些最好的PHP代码。