2009-09-09 41 views
2

我有一个应用程序在rails(使用身份验证通过AuthLogic)。Rails PHP登录集成

我想通过远程登录到我的rails应用程序登录到我的PHP应用程序。 我想让PHP应用程序使用我的Rails应用程序执行身份验证,并从成功登录时检索用户详细信息。

简而言之, 在PHP中登录表单 - >将凭据提交给Rails应用程序 - >将rails应用程序的结果返回到php应用程序。

我该怎么办?

非常感谢。

回答

1

有很多方法可以解决这个问题。但是有一些规则可以使这种设置可行。首先,您需要确保您的Rails和PHP应用程序位于相同的域中,并且可以读取其他cookie。您需要在Cookie中存储和会话,或者让PHP和Rails应用程序访问同一会话存储。最好的情况是棘手的。

我的解决方案是使用现有的身份验证方法。在您的PHP应用程序中实现OpenID或oauth提供程序。这些都可以在网上获得。在Rails方面,你会实现一个OpenID或oauth消费者。通过不构建自己的解决方案并使用像OpenID或oauth这样的经过验证的概念,与使用自制解决方案相比,您将为应用程序增加更多的安全性。

顺便说一句,将自己的浇头添加到OpenID或oauth方案没有任何问题。即我用一个使用OpenID的中央认证服务器构建了一个应用程序。但我们有客户端应用程序的“自动批准”,我们能够发送基本的用户信息给客户端(如ID,电子邮件,姓名,地址等)

同样,我的建议是使用OpenID或oauth。我认为后者更容易实现(并且Twitter使用它)。

+0

选择OpenID或oauth的原因还包括Ruby和PHP都可用的库,您不必担心Ruby直接通过会话存储或任何类似的疯狂对话。 – Ariejan 2009-09-09 14:16:08