与身份验证服务器通信

时间:2010-06-06 23:14:15

标签: python authentication rest

我正在建立我的创业公司,我正在考虑共享使用服务。

到目前为止,我想允许在一个应用上拥有用户帐户的用户能够在另一个应用上使用相同的用户帐户。这意味着我将不得不构建一个身份验证服务器。

我想就如何允许应用与身份验证服务器通信提出一些意见。我应该使用卷曲吗?我应该使用Python的http库吗?所有代码都将在Python中。

所有它要做的是询问身份验证服务器是否允许该人使用该应用程序,并且auth服务器将返回JSON用户对象。所有授权(角色和资源)都是独立于应用程序的,因此该应用程序无需处理。

对不起,如果这看起来有点新鲜;这是我第一次将身份验证与实际应用程序分开。

3 个答案:

答案 0 :(得分:1)

假设您计划编写自己的auth客户端代码,它不是事件驱动的,并且您不需要验证https证书,我建议使用python的内置urllib2来调用auth服务器。这将最大限度地减少依赖关系,这应该使部署和升级更容易。

话虽如此,世界上存在多个与auth相关的协议和库,其中一些可能会节省您一些时间和安全性,从而无需从头开始编写代码。例如,如果您使auth服务器说OpenID,许多非自行应用程序和服务器(包括Apache)将具有已为您制作的auth客户端插件。

答案 1 :(得分:0)

你的问题并不是一个编程问题,而是一个架构问题。我建议您根据具体情况设置LDAP服务器以进行身份​​验证,授权和记帐(AAA)。然后让您的应用程序使用它(每种语言都有LDAP的模块和库)。它是处理此类事物的可靠,安全,经过验证和众所周知的方式。

即使您严格要强制执行基于HTTP的身份验证,也很容易在LDAP前面打一个身份验证服务器并将其称为一天。甚至还有现有的代码,所以你不必重新发明轮子。

答案 2 :(得分:0)

还有CAS您可能不会看到,