PHP*_*ver 41 php session android ios phpfox
我是一名专业的PHP程序员.所以,我对iOS和Android编码一无所知.
该场景是使用名为"PHPFox"的社交网络PHP软件开发的一个网站.
现在有两个类似的移动应用程序,它们完全复制了本网站的功能.一个移动应用程序在iOS中,另一个在Android中.
所以,我编写了一组RESTful API,我接受来自移动应用程序的请求,解析请求,将请求参数传递给为网站执行相同工作的函数,从此函数获取响应,转换它转换为JSON格式并将其发送回移动应用程序.对于iOS和Android应用程序,我使用的是同一组REST API文件.
当用户登录时,将调用用于登录的REST API.最终调用用于身份验证的PHPFox函数,生成安全令牌以及一些其他用户数据.每次登录时,PHPFox都会生成不同的安全令牌.该数据被设置到会话中.现在,每次通过任何REST API文件调用任何函数时,都会验证登录时生成的安全令牌,并且只有成功验证令牌后才会调用PHPFox函数.此验证过程由PHPFox在内部完成.因此,无需将安全性令牌显式或隐式地传递给任何REST API调用.
直到现在一切都很好.
我怀疑从这里开始.我不知道会话是否在iOS/Android应用程序中维护.那么,如果服务器上的会话即PHPFox超时,那么应用会发生什么?它会崩溃吗?用户是否必须再次登录?如果用户杀死设备上的应用程序并再次访问应用程序,他/她是否必须再次执行登录过程?
我心中有太多疑惑.我完全混淆了这些事情.
有人可以把更多的注意力放在我面临的问题上吗?如果你能详细解释那将是非常好的.
谢谢.
val*_*omo 55
REST本质上是无会话的.您需要在用户登录时生成令牌.您必须在移动客户端上保存此令牌.对于每个请求,您需要在请求标头中附加有效标记并在服务器端进行检查.如果令牌过期,则存储在客户端上的令牌无效.因此,由于401响应,您需要再次登录.如果令牌不正确,你需要回答400.我希望我对你有所帮助.
Faw*_*sud 20
与Web浏览器不同,iOS和Android应用程序无法维护会话.通常,一旦用户登录(从服务器验证登录凭据),其登录凭据将保存在客户端.然后,应用程序使用无会话的REST api调用从服务器获取数据.这就是移动应用程序的主要功能.
但是,如果你想要服务器会话和移动应用程序齐头并进(我认为这不是一个好主意),方式是
1)当用户登录时,在服务器端生成安全令牌,并保存在服务器端和客户端.
2)只要安全令牌有效,移动应用程序就能与服务器通信.
3)会话到期时,安全令牌变为无效.现在,服务器和客户端之间必须了解会话过期时的响应.现在,移动应用必须将用户重定向到登录页面.用户将再次登录,然后与服务器通信.每次会话到期时都会发生这种情况.
小智 15
如果您使用Oauth 2进行身份验证,则常见设置如下:
希望这可以帮助.
干杯
您的服务器应该是完全无状态的,因此不应存储任何会话.REST API实际上只是一个具有可选安全性的数据抽象层(通过令牌)
因此,API会公开一个身份验证服务,该服务将使用授权令牌进行响应,以便在后续请求中用作标头,此标记应与每个用户保持1to1关系,并且Universum Unique.它也应该有一个到期时间,此时您的服务器会响应相应的错误响应,请求您的应用刷新令牌,这可以通过单独的刷新令牌系统完成,或者请求用户再次登录以刷新令牌.
应该维护状态的APP,而不是服务器.服务器仅用于数据目的,因此不应依赖任何类型的基于会话的身份验证.
| 归档时间: |
|
| 查看次数: |
45388 次 |
| 最近记录: |