搜索

首页  >  问答  >  正文

mysql - 【php】关于php开发app接口的问题,求有经验的大神解答

php开发app接口,用户登录问题

情况是这样的,之前的用户登录接口,登录成功以后服务器不存session,可能在app那端存着吧。所以即便用户登录成功,在调某些接口的时候,需要user_id还是要当作参数传递过去,而不是从服务器的 session里获取。

今天想修改登录注册的接口,我同事说app接口没有session的概念,但是我总觉得应该有其他方式将用户会话存在服务器。

所以我想请教各位大神:

1. php开发app接口有没有`session`的概念?
2. 如果没有,用户会话是怎么处理的?就是当前是否在登录状态

谢谢大家!

某草草某草草2811 天前700

全部回复(10)我来回复

  • 巴扎黑

    巴扎黑2017-05-16 13:01:53

    可以看看jwt
    自包含(Self-contained):负载中包含了所有用户所需要的信息

    回复
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:01:53

    我是设置了token以及过期时间,用token来验证

    回复
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:01:53

    首先你弄个登陆接口,app调用这个接口,你验证他传递过来的username password 之后,给他返回一个 token 。

    token 你建个表保存,表里存 user_id token expire_data 等字段,注意token 和 user_id 是唯一的。

    以后他每次请求其他的接口,只需要把这个token带给你,你验证token就可以。

    传递的token 设置加密/设置过期/保证唯一 基本上就可以了。

    回复
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:01:53

    1.请求头里带用户 usernamepassword ,到服务器端做验证,通过才继续下边业务逻辑。
    优点:防止了服务器端 api 被随意调用。
    缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。

    2.第一次请求,要求 usernamepassword ,验证通过,发送 cookie 到客户端, usernamepassword ,验证通过,发送 cookie 到客户端, app 保存 cookie 值。
    每次请求带上 cookie
    优点:和 pc 保存 cookie 值。

    每次请求带上 cookie

    优点:和 pc 上浏览器认证的原理一样了。
    app以上两点,只有注册用户,才能有权访问业务逻辑。

    而有些

    有大量的不需要注册数据apitoken
    3.制定一个

    生成规则,按某些服务器端和客户端都拥有的共同属性生成一个随机串,客户端生成这个串,服务器收到请求也校验这个串。
    缺点:随机串生成规则要保密。

    采纳答案

    如果我的答案解决了你的问题,请点击
    🎜🎜

    回复
    0
  • ringa_lee

    ringa_lee2017-05-16 13:01:53

    可以这样弄,不同用户通过授权接口获得不同的token,对token 设置好过期时间,让client每次请求把token放在header内,并定时更新token

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:01:53

    用token来代替传统的存储在客户端cookie中的session_id,然后token在redis等数据库中作为键名,键值则为用户uid,并且可以通过自带的过期机制来模拟session_id

    回复
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:01:53

    我们公司是,token跟过期时间,每次登陆,都会重新刷新token

    回复
    0
  • PHPz

    PHPz2017-05-16 13:01:53

    这是我心怀疑惑的时候,在我们站内提问的

    1. 你同事说 app没有session概念,我觉得不准确!希望我之前的提问对你有帮助!

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 13:01:53

    登录是服务端生成登录成功的标识返回给客户端,客户端请求是带上登录标识,服务端通过登录表示验证用户信息

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:01:53

    安全的做法是access_token。这点可以看看微信的api接口;

    简单做法,就是user_id;

    回复
    0
  • 取消回复