收藏
回答

企业微信 扫码登录中 state参数作用是什么

在企业微信扫码登录中有一个参数叫state, 看了解释没看懂, 解释如下:

用于保持请求和回调的状态,授权请求后原样带回给企业。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议企业带上该参数,可设置为简单的随机数加session进行校验


想问下这个参数是如何发挥作用去防止CSRF攻击的, 是怎样的一个具体的使用流程, 如: 展示二维码之前state从服务器拿, 用户扫码之后, 然后重定向到redirect_uri, state会跟着发送到服务器, 服务器再验证这个state值是否和刚才一致, 这么一个流程,

这个比如的流程只是一个假设,


回答关注问题邀请回答
收藏

2 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2021-11-19

    你好,展示二维码之前state从服务器拿, 用户扫码之后, 然后重定向到redirect_uri, state会跟着发送到服务器, 服务器再验证这个state值是否和刚才一致, 这么一个流程,是的,流程基本是这样

    2021-11-19
    有用
    回复 1
    • Z
      Z
      2022-09-02
      扫码之后企业微信传的state为空怎么解决
      2022-09-02
      回复
  • 闪光的flash
    闪光的flash
    2022-03-01

    看意思就是确定回调的请求是否是企业自己触发的,如果是企业自己触发的就可以校验state字段是否存在,如果不存在,说明不是企业自己触发,可以拒绝掉本次请求,如果和企业自己保存的state字段的一致,就说明本次回调是企业自己触发的。state字段应该要用没有规律的随机字符来生成,这样才能有更好的防止csrf攻击的效果。

    2022-03-01
    有用
    回复
登录 后发表内容