【发布时间】:2025-12-05 01:10:01
【问题描述】:
我最近查看了我的推送错误日志并注意到:
无效签名:预期的 HMAC SHA256 十六进制摘要 217478.6054950:private-production1_xxxxx_1232:{"user_id":xxxx},但得到 707d39519ca7f971a134524d8fe2ebafbddd64f42b6af0a20d6a73fxxxxxxx
总的来说,我们的 websocket 工作正常。我们有许多客户工作得很好,而且套接字通常似乎没有问题。这是我第一次注意到这个错误并且我经常检查错误日志。这是我应该关心的事情吗?我可以确认private 频道总体上工作正常。
前端代码如下:
let options = PusherClientOptions(
authMethod: AuthMethod.authRequestBuilder(authRequestBuilder: AuthRequestBuilder()
)
pusher = Pusher(key: pusherKey!, options: options)
class AuthRequestBuilder: AuthRequestBuilderProtocol {
func requestFor(socketID: String, channel: PusherChannel) -> NSMutableURLRequest? {
let request = NSMutableURLRequest(url: URL(string: "https://\(baseURLPrefix).xxxxxx.com/xxxxx/xxxxx")!)
request.httpMethod = "POST"
request.httpBody = "socket_id=\(socketID)&channel_name=\(channel.name)".data(using: String.Encoding.utf8)
request.addValue(
"Bearer " + authToken, forHTTPHeaderField: "Authorization"
)
return request
}
}
在后端(Laravel 应用程序):
// Controller
public function presence_auth(Request $request)
{
$pusher = new Pusher(
config('broadcasting.connections.pusher.key'),
config('broadcasting.connections.pusher.secret'),
config('broadcasting.connections.pusher.app_id')
);
return $pusher->presence_auth($request->input('channel_name'), $request->input('socket_id'), AuthUser()->id);
}
如果他们将错误的 Bearer 令牌传递给我们的后端,是否会发生此错误?
【问题讨论】:
标签: ios swift pusher pusherswift