用于移动(iphone)应用程序开发的AuthComponent

用于移动(iphone)应用程序开发的AuthComponent,iphone,cakephp,restful-authentication,Iphone,Cakephp,Restful Authentication,我们正在构建一个iPhone应用程序,它将使用CakePHP 2.x.x访问我们的后端服务器 客户端是使用iOS SDK的iPhone应用程序 服务器正在使用Cakephp2.0 我们能够为控制器/操作(用户/登录)创建http POST。此操作当前正在使用标准数据库查询登录,并匹配用户/密码组合。这并不是真正的AuthComponent。 我们想要的是启用Auth组件,以便能够验证每个请求的会话。我们如何为这种类型的移动客户端应用程序使用Auth 我已经通读了REST等概念,但仍然不清楚如何将

我们正在构建一个iPhone应用程序,它将使用CakePHP 2.x.x访问我们的后端服务器

客户端是使用iOS SDK的iPhone应用程序 服务器正在使用Cakephp2.0

我们能够为控制器/操作(用户/登录)创建http POST。此操作当前正在使用标准数据库查询登录,并匹配用户/密码组合。这并不是真正的AuthComponent。 我们想要的是启用Auth组件,以便能够验证每个请求的会话。我们如何为这种类型的移动客户端应用程序使用Auth

我已经通读了REST等概念,但仍然不清楚如何将Auth纳入这个移动应用程序通信的范围

任何参考资料都会有帮助。我对移动领域相当陌生,但我对网络开发(基于浏览器)有很好的了解。对于移动平台,我们使用的是用于移动平台的本机SDK


-BC

首先,在完全(桌面)基于web的解决方案或移动解决方案中使用
AuthComponent
没有区别-它的工作方式与正常工作方式相同。在您的情况下,两个应用程序层已分离:

  • 您的服务器处理身份验证、数据检索、数据自定义和数据传输
  • 您的客户机处理数据表示
  • 在Web开发中,通常有两大概念:

    身份验证是确保用户是他摆出的样子,即在他们提供正确密码后登录授权确保登录用户有权访问给定资源。第二件事可以通过不同的方法实现,我不会就此停止

    开箱即用的Cake提供了三种不同的身份验证方法:

    • 正式认证
    • 碱式
    • 摘要认证
    我提供的链接很好地解释了这些内容。现在,在您的情况下,您可能想考虑并明确消化SSL请:)。 当然,您也可以使用FormAuthentication进行验证。但是,也考虑在登录用户发布令牌,然后使用API调用的令牌。它们应该具有相对较低的寿命。这一生由你决定,但通常是10-15分钟。 当发出呼叫且令牌已过期时,只需为用户创建一个新令牌。该tokem系统可以在某种程度上与身份验证系统分离-即,用户可能仍有会话,但其当前令牌可能已过期-因此发布新令牌。请确保针对试图访问给定应用程序区域中的一条信息的用户验证这些令牌,以便验证令牌是否仍然有效,并且实际上是由同一用户颁发和使用的


    希望这有点帮助。我认为使用REST是一个很好的选择,因为它提供了一个很好的基于动词的API结构

    只是旁注。如果您精通web开发,为什么不坚持使用基于web技术的解决方案,如jQuery Mobile或更复杂的任务Sencha Touch?