私はいくつかのAPIサービスに接続するReactJsフロントエンドアプリケーションを持っています。これらのAPIサービスのいくつかは、初回ログイン時にappId
とappSecret
を渡す必要があります。ReactアプリケーションにAPIクレデンシャルを秘密にする
私は現在、それらを小型化してバンドルされたjs
ファイルに持っていますが、私はまだ精通した侵入者に自分のアプリの資格情報を公開していると感じています。
どうすれば保護するのですか?
私はいくつかのAPIサービスに接続するReactJsフロントエンドアプリケーションを持っています。これらのAPIサービスのいくつかは、初回ログイン時にappId
とappSecret
を渡す必要があります。ReactアプリケーションにAPIクレデンシャルを秘密にする
私は現在、それらを小型化してバンドルされたjs
ファイルに持っていますが、私はまだ精通した侵入者に自分のアプリの資格情報を公開していると感じています。
どうすれば保護するのですか?
私はコメントを読んで、あなたがまだ混乱しているのを見ましたが、より詳細な説明はコメントに許可されている以上のスペースを取っていました。
あなたのサーバーをすべての要求と応答のプロキシとして使用することが考えられます。
これらの種類のやりとりを処理する唯一の方法ではありませんが、より一般的な方法です。ケース1と2は異なります。ケース1では、APIからデータを取得する必要があるクライアント(フロントエンド)が存在するからです。 APIの資格情報は、サーバーによってのみ格納され、使用されることで保護されます。この状況では、アプリを使用する全員、アプリで認証されたすべてのユーザー(ログインシステムを実装する必要があります)、特定の権限レベルを持つユーザーのみにアクセスを制限することができます役割を実装する)。ケース2の場合、クライアントアプリケーションはなく、誰かがあなたのAPIに直接アクセスしています。それでも認証する必要があるので、秘密鍵を一度だけ発行し、要求を行うたびにその鍵を渡します。
[この記事](http://billpatrianakos.me/blog/2016/02/15/securing-api-keys-in-a-javascript-single-page-app/)は、あなたが望むものを持っているようです。 –
秘密のAPI資格情報をフロントエンドファイルに入れないでください。通常、バックエンドで外部認証済みAPIへのデータの受け渡しを処理する必要があります。 – Devon
いくつかの男はちょうどここで素晴らしい答えを出しました:https://stackoverflow.com/questions/46838015/using-api-keys-in-a-react-app –