DCDevice.current.generateToken : return Error Missing or incorrectly formatted device token payload

we can get token but when send to verity from apple. it reture Error : {"responseCode":"400","responseMessage":"Missing or incorrectly formatted device token payload"}

I believe I am experiencing the same issue described here, so I would like to add more details.

In my iOS app, I implemented DeviceCheck token generation and server-side validation. On recent devices everything works as expected: the server validates the token successfully and returns status 200 along with the two bit values.

However, on iPhone 6S running iOS 15.8.4 only, the request fails with: Request failed with status code 400

This happens consistently in both environments:

On iPhone 6S, device.supported returns true, and the generated token is sent to the server. The token length is over 2000 characters (base64), and visually it looks similar to tokens from newer devices that work fine. So I don't think the app is failing to generate a token.

Server side is implemented in TypeScript using "jsonwebtoken": "^9.0.2".
Other devices on iOS 16+ pass validation without problems, but the 6S with iOS 15.8.4 always fails with 400.

It would be very helpful if anyone could provide insights or if someone from Apple could clarify whether this is a known limitation of DeviceCheck on iOS 15.x or older hardware.

Thank you in advance.

We have the same issue using iPhone 5s running iOS 12.5.7.

DCDevice.current.generateToken : return Error Missing or incorrectly formatted device token payload
 
 
Q