-
Notifications
You must be signed in to change notification settings - Fork 310
Description
NOTE: Please test in a least two browsers (i.e. Chrome and Firefox). This
helps with diagnosing problems quicker.
Please confirm the following:
- I have read the README entirely
- I have verified in the issues that my problem hasn't already been resolved
Setup
- Operating System: Linux Mint
- PHP Version: 7.2
- web-push-php Version: 5.2.4
Please check that you have installed and enabled these PHP extensions :
- gmp
- mbstring
- curl
- openssl
Please select any browsers that you are experiencing problems with:
- Chrome
- Firefox
- Firefox for Mobile
- Opera for Android
- Samsung Internet Browser
- Other
Problem
When I use the wrong subscription for sending web push, $report->getReason() were truncated, like this:
Client error: `POST https://fcm.googleapis.com/fcm/send/eWp764UJNBM:APA91bHJVQXmxU9-Yr5j1VjxAZcJBWlvGRCRZjU4H7Z5_glrAc1O6R7o4w-UzTFdalqXEYZHJgxMjTrbXCCkAtKmaFqi_UnZ7MdPrbGJvcUyGNVTpGbYBf8EazF1TBVa3yHS1k5wR3qc` resulted in a `403 Forbidden` response:\nthe key in the authorization header does not correspond to the sender ID used to subscribe this user. Please ensure you (truncated...)\n
Expected
The error message should not truncated.
Features Used
- VAPID Support
- GCM API Key
- Sending with Payload
Example / Reproduce Case
Send notification with wrong subscription data with this format:
[
'subscription' => Subscription::create([ // this is the structure for the working draft from october 2018 (https://www.w3.org/TR/2018/WD-push-api-20181026/)
"endpoint" => "https://example.com/other/endpoint/of/another/vendor/abcdef...",
"keys" => [
'p256dh' => '(stringOf88Chars)',
'auth' => '(stringOf24Chars)'
],
]),
'payload' => '{msg:"Hello World!"}',
],
but with wrong subscription. Program should showing error message that truncated.
Other
When I search from internet, message gets truncated because of calling $reason->getMessage() at WebPush class line 180. When I change it to $reason->getResponse()->getBody()->getContents() I get complete message but without mentioning endpoint.