我们最近在日志中注意到,在某些情况下签名验证失败(这种情况以前没有发生过,最近几周开始发生)。我进一步调查并注意到 URL 参数中的不一致。
一些示例(出于隐私原因将商店名称替换为“xxx”):
成功
/oauth2/shopify?code=7e8ec807e9f4b29b6e6d352ff5a654cc&shop=xxx.myshopify.com×tamp=1353377082&signature=3edc31eb7d93813313e937a9ac1c6f8c
/oauth2/shopify?shop=xxx.myshopify.com&signature=63103f985dabf0f102fe7ce8335c9c4c×tamp=1353377555
失败
/oauth2/shopify?shop=xxx.myshopify.com
/oauth2/shopify?code=&shop=xxx.myshopify.com×tamp=1353361621&signature=91927831bbbe9ca37472c2a3fa260a49
请注意,在失败的情况下,参数要么丢失(第一个请求中没有时间戳或签名),要么“代码”参数为空(对于第二个请求)。