Laravel route that returns the token :
public function beamsAuth(PusherAuthRequest $request)
{
try {
$beamsClient = new PushNotifications([
'instanceId' => env('PUSHER_BEAMS_INSTANCE_ID'),
'secretKey' => env('PUSHER_BEAMS_KEY'),
]);
$user = $request->user(); // If you use a different auth system, do your checks here
$userID = $user['id'];
$beamsToken = $beamsClient->generateToken("".$userID);
$action = new CreateDeviceAction();
$dto = DeviceDataTransferObject::fromArray([
'os' => $request->input('os') ?? null,
'timezone' => $request->input('timezone') ?? null,
'token' => $beamsToken['token'] ?? null,
'alfred_id' => $user['id'] ?? null,
]);
$action($dto);
return response()->json($beamsToken);
} catch (\Exception $e) {
throw new HttpResponseException(response()->json([
'status' => false,
'error' => $e->getMessage()
], 400));
}
}
Response from our server :
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciO............."
}
Error :
When the exception was thrown, this was the stack:
#0 List.[] (dart:core-patch/array.dart:121:36)
#1 PusherBeams.handleCallback (package:pusher_beams/pusher_beams.dart:297:22)
#2 CallbackHandlerApi.setup.<anonymous closure> (package:pusher_beams_platform_interface/method_channel_pusher_beams.dart:404:15)
#3 CallbackHandlerApi.setup.<anonymous closure> (package:pusher_beams_platform_interface/method_channel_pusher_beams.dart:391:35)
#4 BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:77:49)
#5 BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:76:47)
#6 _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:377:35)
#7 _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:374:46)
#8 _invoke2.<anonymous closure> (dart:ui/hooks.dart:190:15)
#12 _invoke2 (dart:ui/hooks.dart:189:10)
#13 _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
#14 _Channel.push (dart:ui/channel_buffers.dart:132:31)
#15 ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
#16 PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:583:22)
#17 _dispatchPlatformMessage (dart:ui/hooks.dart:89:31)
(elided 3 frames from dart:async)
Flutter doctor output :
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.5, on macOS 12.4 21F79 darwin-arm, locale en-RO)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.67.2)
[✓] Connected device (2 available)
! Error: Marius's iPhone is not connected. Xcode will continue when Marius's iPhone is connected. (code -13)
[✓] HTTP Host Availability
• No issues found!
Laravel route that returns the token :
Response from our server :
Error :
Flutter doctor output :