MeDo ミニプログラムの信頼済みドメイン設定

何が起きているのか?

ミニプログラムは、データの読み込み、保存、更新、削除のためにリモートサーバーへ接続する必要があります。

WeChat は、ミニプログラムが信頼済みドメインにのみ接続することを許可しています。ドメインが許可ドメイン一覧に追加されていない場合、WeChat はそのリクエストをブロックします。

このケースでは、ミニプログラムが次を呼び出そうとしています。

https://kdadmjcweyivjlnxjtoc.functions.supabase.co

しかし、このドメインはミニプログラムの許可リクエストドメインに追加されていないため、リクエストがブロックされています。

必要な対応

Trial Version をテストしている場合

ミニプログラムがまだ体験版モードの場合、ドメイン設定がすぐに反映されないことがあります。

テストを続けるには、ミニプログラムのメニューを開き、Development Debugging を有効にしてください。

これはテスト用のみです。リリース済みのミニプログラムを利用するユーザーは、この操作を行う必要はありません。

リリース準備中の場合

ミニプログラムをリリースする前に、アプリで使用している Supabase ドメインが許可リクエストドメイン一覧に追加されていることを確認してください。

現在のドメインは次のとおりです。

  • https://kdadmjcweyivjlnxjtoc.functions.supabase.co
  • https://kdadmjcweyivjlnxjtoc.supabase.co

ドメイン設定を更新したら、ミニプログラムを審査に提出してリリースしてください。リリース版では、これらの API を通常どおり呼び出せるようになります。

特に注意が必要な理由

MeDo は現在、Supabase ドメインを直接使用しています。これらのドメインはプロジェクトごとに異なる場合があります。

少数のミニプログラムでは問題ありませんが、MeDo が多数のミニプログラムに対応する場合、管理が難しくなる可能性があります。

WeChat にも、設定できるドメイン数にプラットフォーム上の制限があります。

推奨される長期設定

より安定した構成にするため、MeDo はたとえば次のような統一バックエンドドメインを使用するべきです。

https://backend.medo.dev

ミニプログラムは、この MeDo ドメインだけを呼び出します。

Mini Program -> backend.medo.dev

その後、MeDo のバックエンドが Supabase に接続します。

backend.medo.dev -> Supabase

これにより、ユーザーは多数の異なる Supabase ドメインではなく、1 つの MeDo ドメインだけを信頼すればよくなるため、ミニプログラムの設定が簡単になります。

簡単なまとめ

リクエストが失敗している理由は、Supabase ドメインがまだ WeChat に信頼されていないためです。

体験版のテストでは、Development Debugging を有効にしてください。

リリースする場合は、Supabase ドメインをミニプログラムの許可リクエストドメイン一覧に追加し、新しいバージョンを公開してください。

長期的には、MeDo は https://backend.medo.dev のような安定したバックエンドドメインを提供し、ドメイン設定を簡単にするべきです。

参考資料