フォロー

WebPush自体は暗号化の仕組みを備えているのですが、WebPushでブラウザに送れるデータ長の最大よりFCMでアプリに送れるデータ長の最大の方が25%くらい短いのでそのままアプリに転送することはできません。
アプリサーバ上で暗号を解除してデータ量を削減するか、もしくはデータを丸ごと無視してトリガーのみをアプリに送るかしないといけません。
前者はセキュアとは言い難いのでSTは後者にしてます。ただしアプリ側でもREST APIで読み直す事になるので通知が多い&端末が多いとrate limitの問題が出ます。解決してません。
タンスに購読リクエストを投げる時に必要な鍵ペアの生成もアプリ側でやるといいんでしょうけど、上記の選択で迷ってたんで、今はまだアプリにハードコードした公開鍵をタンスに送ってますね。そのためアプリサーバではメッセージの詳細を無視してることを証明する術がありません…。

· SubwayTooter · 1 · 0 · 3

これ、データが短い時はそのままアプリに送って、長すぎる場合は短縮URLとパスワードをアプリに送って、アプリ側からURLにパスワード付けて取得できるようにすれば解決するかもしれない。でもブラウザと違ってアバター画像の取得も考慮しないとだし、ネットワークアクセスなしで通知を表示するには色々制約が多いんよな…

ログインして会話に参加
juggler.jp Mastodon サービス

日本語で楽しめるMastodonサーバを提供しています。

利用規約を読んでからサインアップしてください。

Androidアプリ iOSアプリ