Cần hỗ trợ kiểm tra Signature

Hi,

Có bạn nào hỗ trợ giúp mình kiểm tra phần check signature được không?
Tính theo các tham số trong sample thì đều ra kết quả đúng. Nhưng khi chạy thực tế với các key và secret, data thật thì API đều trả về invalid signature

Thank!

Chào @Tuan_Ngo, mình kiểm tra thì thấy có vẻ như request được gửi lên có Content-Type multipart/form-data, dẫn đến việc tạo signing payload có nội dụng như sau

1626591921000.PzCPoDu8r1xYVbMO6SghBDVGL9fBoWhQ.--------------------------4738e68672a2febd
Content-Disposition: attachment; name="code"

xxxxxFt-NYqxutVA.p4rc4193DxZ2aJLIcr_927v2hWuqu-DDw_MGx-fJgFE
--------------------------4738e68672a2febd--

Bạn có thể thử lại với Content Type là application/json để việc tính signature được chính xác hơn. Nếu vẫn bị lỗi, bạn cho mình xin signing payload của bạn và response body như trên để mình kiểm tra lại

Mình thử các kiểu mà vẫn lỗi, check lại giúp mình nhé!

payload: 1626594848000.PzCPoDu8r1xYVbMO6SghBDVGL9fBoWhQ.{"code":"DrNfPqP17Fov0MxfOjatDR3O2vg6zUb_P44Qg09OniI.k1Zr41El3GbeeWTRY6r7LmWgfq2-7cb6wMeWZR0casE"}
Array
(
    [0] => Content-Type: application/json
    [1] => X-Tiniapp-Timestamp: 1626594848000
    [2] => X-Tiniapp-Client-Id: PzCPoDu8r1xYVbMO6SghBDVGL9fBoWhQ
    [3] => X-Tiniapp-Signature: 824a0e09bfa92ca289a64544e3ea6e469860750bf696f56c927611b89fb8e562
)
Array
(
    [data] => 
    [error] => Array
        (
            [code] => 400
            [message] => invalid signature
            [reason] => 
            [metadata] => Array
                (
                    [service_code] => 00004
                    [request_id] => ec6606b8-34ac-44fa-9837-c94562282df7
                )

        )

)

Thank!

Hi @Tuan_Ngo, mình có tính thử signature thì thấy không giống bạn,
https://play.golang.org/p/9tRoVL1a8nc

Bạn thử thay thế secret của bạn vào đoạn code trên xem có giá trị như thế nào?

1 Like