我目前正在编写一个服务的后端,该服务有3个客户端:浏览器,android原生和iphone原生。我在提出认证系统时遇到了一些麻烦,因为我不知道在客户端上可以做些什么。
我正在使用django + twisted作为后端。
基本上,我将编写RestfulAPIs以便为两部手机上的客户打开电话。
现在真正的问题是,我应该如何设计一个身份验证系统?
我考虑过使用sessionids,这对浏览器非常有效,我可以使用django的集成应用程序。
但是,我不知道iphone和android是否可以在手机上获得唯一的sessionid。我应该编写API调用来分发唯一的会话ID吗?
如果是这样的话,我是否仍然可以使用django的身份验证系统,因为这里的很多东西都是自定义的? (我甚至不使用rdbms - 我坚持使用mongodb,因此我即将放弃django的身份验证应用程序ftm。)
我查看了foursquare的API,他们的基本身份验证方法要求您在每个http请求标头中传入user:password。每次调用会增加1个额外的身份验证,这看起来有点过分。
请提供您可以提供的任何建议。