2017-11-03 9 views
0

プロキシレベルを反転させます。このアプリケーションの中に がある場合、私たちはVPSへのXX外部リンクを持っています。 VPSでは、nginxをバックエンドを処理するApacheのリバースプロキシとして使用します。 現在、外部VPSへのリンクを持つすべてのユーザーがコンテンツにアクセスできます。メインアプリケーション(Laravel、PHP)にログインしているユーザーへのアクセスを制限したいと考えています。外部認証は、私たちは私たちのログイン/パス認証を行うLaravelでPHPアプリケーションを、持っている

ユーザーがLaravel PHPアプリで一度認証されて以来、ユーザーが証明書を提供する必要なく、nginxプロキシで検証されたメインLaravel PHPアプリケーションのリンクをクリックすると、トークンのようなものを送信します。 。

Laravel PHP Application that auths user. 
User clicks external link. 
Gets authenticated on nginx reverse proxy. 
Based on result of auth either gets the content or gets denied. 

を私たちの関心はnginxのサーバーにあります:私たちはnginxの上でユーザーを認証するにはどうすればよい を手動で任意の資格情報を提供するために、ユーザを必要とせずに、プロキシレベルを逆に、単にリンクをクリックしてアクセスアップ合計に

私たちのメインアプリで?

答えて

0

つのソリューションは、私の心に来る:

  1. 共有セッションを

  2. 基本認証

AD 2.これはhttps://serverfault.com/questions/230749/how-to-use-nginx-to-proxy-to-a-host-requiring-authentication

+0

私たちの最初のアイデアを助けることができるものでしたクライアント側の証明書を使用しますが、これにはクライアント側のactioが必要ですn。しかし、それは一度の行動になります。私はこのアイデアのPoCを準備しており、ここで更新されます。いくつかのリンクも役立ちます: https://developers.shopware.com/blog/2015/03/02/sso-with-nginx-authrequest-module/ https://galaxyproject.org/admin/config/nginx -external-user-auth/ https://www.nginx.com/blog/nginx-plus-authenticate-users/ 私はこれらのソリューションをテストし、最適なソリューションを選択します。しかし私は証明書を持って行くと思う。 – luki

+0

[JWT](http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html)はおそらく理想的な解決策ですが、それはNginxの商用サービスの一部です。クエリパラメータとしてURLにJWTを含めることができます。 –

関連する問題