Angular を使用して構築されたアプリケーションがあります。また、アプリケーションはバックエンド REST API をトリガーしてデータを表示します。
問題は、
アプリケーションはLDAP SSO認証を使用してユーザーを検証します(社内アプリケーションであるため、外部ユーザーはいません)
手順は、
ユーザーがサイトを起動すると、ユーザーが認証用のユーザー名とパスワードを提供する WebSec ログインにリダイレクトされます (暗黙的なフロー)。
認証が成功したら、WebSec からのアクセス トークンを JWT します。これはセッション ストレージに格納され、バックエンド サービスの「ベアラー」トークンとして使用されます。
バックエンド サービスには、この JWT トークンを検証するための WebSec 証明書があり、そうでない場合は認証エラーで応答します。
フロント エンドの場合 - Angular を使用しています。バック エンドの場合 - Java、Sprint ブートです。
質問は、
- これはユーザー認証の正しい方法ですか?
- もしそうなら、Implicit フローはどれくらい安全ですか。参照: https://www.instagram.com/developer/authentication/ - 誰もが明示的なフロー (サーバー側の呼び出し) を推奨しています。UI アプリは別のサーバーで維持され、バックエンド サービスは別のサーバーで維持されます。
誰かがこれに関する解決策を提供してくれれば幸いです。