0

my-example-domain.comで公開されているSPA(Angular based)とmy-example-domain.com/apiで公開されているrest API(Laravel 5.3に基づいています)を持っています。 すべてのAPIは公開されているため、認証されていないユーザーはAngular SPAとコールバックエンドAPIを使用できます。私のSPAのみが私のパブリックレストAPIを呼び出すことを許可する方法は?

私のSPAが私のバックエンドレストAPIを呼び出すことを許可したいと思います。例えば、誰もレストクライアント/カールを通してレストAPIを呼び出すことはできません。

この目標にはどのように到達できますか? Laravelアプリにどのような認証を設定する必要がありますか? Passportは正しいですか?

+0

Laravel Passportはトークンベースの認証システムです。はい、あなたのニーズに合わせて使用​​することをお勧めします。 Scoutは、Laravelのインデックスベースの検索ユーティリティです。 https://laravel.com/docs/5.4/passport – btl

+0

@btlありがとう、Passportはすばらしい図書館ですが、Passportのどの機能が私の場合に最適ですか? – trullallero

+0

個人用アクセストークン。 https://laravel.com/docs/5.4/passport#personal-access-tokens – btl

答えて

0

できません。

お客様のクライアントは一般公開されています。

ブラウザで実行されるため、すべてのHTTPリクエストがそのユーザー(つまり誰でも)によって検査されます。

あなたのクライアントからのリクエストを識別しようとするすべてのことを、誰でも閲覧して複製することができます。

+0

csrf_tokenはどうですか? – trullallero

+0

@trullallero - これは、あなたが1つを要求し、次の要求に含めることを要求する人に与えるトークンです。誰もが1つを求めることができるので、あなたのクライアントのウェブサイトを使用していない人々は1つを求めることができます。 – Quentin

関連する問題