私は、現在、私のアプリケーションサーバーの前に座っている基本認証を現在使用している逆プロキシとして機能する基本的なNginx Dockerイメージを持っています。 JWTを使用する開発のSSOソリューションと統合する方法を探していますが、すべてのドキュメントにはNGINX +が必要です。そのため、Open-Sourced Nginxの内部でJWT検証を行うことは可能ですか、それとも有料バージョンが必要ですか?
確かに、オープンソースコードがあります。これは、ケースを使用してカスタマイズできます( 例 )。
IMHOあなたはあなたがあなたのアプリケーションの前で "Auth Proxy"として使えるより良い実装があります。私のお気に入りは keycloak-gatekeeper (Keycloak-Gatekeeper)==(keycloakだけではなく、任意のOpenID IDPで使用できます)、認証、承認、トークン暗号化、リフレッシュトークン実装、小足きの実装、...
lua-resty-openidc
: https://github.com/zmartzone/lua-resty-openidc
lUA-RESTY-OpenIDCは、OpenID Connect Rieling Party(RP)および/またはOAuth 2.0リソースサーバ(RS)機能を実装するNGINX用のライブラリです。
OpenID Connect rielyパーティとして使用すると、OpenID Connect DiscoveryとBasicクライアントプロファイル(Authorization Code Flow)を使用してOpenID Connectプロバイダに対してユーザーを認証します。 OAuth 2.0リソースサーバ)として使用される場合は、OAuth 2.0ベアラアクセストークン、またはJSON Webトークンが使用されている場合には)アクセストークン、検証は、事前設定された秘密/鍵に対して発生する可能性があります。
認証なしで設定が設定されていることを考えると、これを見つけて機能するようになった: https://hub.docker.com/r/tomsmithokta/nginx-oktaokta == lua-resty-openidc
上記のように。それがすでに建てられたという事実は私にとって役立ちました。
まずOKTA Web GUIでOKTAアプリを設定してから、NGINXの例CANGにコメントアウトされていない適切なフィールドに入力します。唯一の警告は、Redirect_URIのコメントを外して、その代わりに廃止予定のフィールドであるRedirect_URI_PATHをコメントアウトまたは削除することです。 Configの他のすべてのものはパラメータです。
デフォルトでは、それはあなたをヘッダーページに渡しますが、proxy_passフィールドを調整した場合は、アプリに渡すことができるはずです。