私はほとんど静的な Web アプリに取り組んでいます - HTML/CSS/JS + アセットだけです。私はそれを提供するためにラックサーバー(実際には薄い)を使用しています。
アプリはほとんど静的ですが、途中で発生したサーバー側のニーズがいくつかあります。アプリは JavaScript を介してこれらのニーズに対応する必要があるため、単純な API として機能するいくつかのルートを簡単に設定できるように、Sinatra をスタックに追加しました。
そのような API 呼び出しの 1 つは、電子メールを送信することです。Web アプリには、ユーザーに電子メールを送信する方法が必要です。JSON オブジェクトを含む POST で呼び出せるルート (/api/mail) を設定すると、Ruby が (SendGrid 経由で) メールを送信します。
これが私の問題です - 本質的に、これらの API 呼び出しは公開されています。ほとんどの場合、それで問題ありませんが、メール API を使用して、アプリを装った単純な POST で悪意のあるメールを送信し始めることができないように、メール API を保護したいと考えています。
問題は、これを認証する方法がよくわからないことです。Web アプリ自体はユーザーではなくクライアントであるため、POST ヘッダーを盗み見して、アプリが API に送信している資格情報を取得できるため、パスワードや API キーは無意味に見えます。
SSL 経由ですべてを暗号化することが私の唯一の選択肢ですか、それとも明白な解決策が欠けていますか?