2017-03-30 9 views
0

パスポート - wsfed-saml2戦略https://github.com/auth0/passport-wsfed-saml2でSAML2を使用してAngular 2アプリケーションを構築しています。私はSAMLからユーザー情報を受け取ったときに、JWTトークンを生成します。このトークンを使用して、API上でユーザーを認証します。私はまた書いています。JWTでノードAPIを使用する

だから、私は2台のサーバー、APP /認証サーバは自分のアプリケーションを提供するだけでなく、私のJWTトークンと私のAPIを持っていAPIサーバーを生成しています。両方のサーバーにはJWTシークレットのコピーがあるので、ユーザーがAPP/AuthサーバーからAPIサーバーにリクエストを送信すると、リクエストとともに送信されたトークンがシークレットで確認されます。

私の質問には、JWTトークンを生成するために使用したのと同じサーバーからアプリケーションを提供するのが悪い習慣ですか?もしそうなら、私はここで何をすべきですか?自分のAPI側でユーザーを認証するためにもっと何をしなければならないのですか?

これに関する何かが汚いと感じています....どんな助けもありがたいです。

答えて

0

同じサービス内にアプリケーションと認証システムを持つことは、それ自体が不正行為ではありません。一般的に、デカップリングされたサービスが推奨されますが、展開がサービスをグループ化できることを意味するわけではありません。もちろん、コンテキストに依存します。

サーバー間で秘密キーを共有することが心配な場合は、非対称キーペアおよび公衆)。秘密鍵は、JWTに署名するためにAuth Serverが知っている必要があります。 APIサーバーは公開鍵を使用してトークンを検証できます。

+0

入力いただきありがとうございます。私たちは入力をそのままにしておき、あなたが提案した非対称キーペアを使用することを選択しました。ありがとうございました! – letthewookieewin

関連する問題