私は、サービスの相互作用を可能にするために独自の oauth2 プロバイダーを持つマイクロサービス アーキテクチャで作業しています。
ユーザー アカウントで内部タスクを実行するために、ユーザーのリソースへのアクセスが許可されているサービスを開発する必要があります。ユーザー リソースにアクセスする必要があるサービスは内部サービスであるため、ユーザーに自分のリソースへのアクセスを許可するよう求めることは実行可能な解決策ではありません。
このタスクを実行するために適切な許可を選択することを懸念しています。これclient_credentials
は正しいものと思われるため、ユーザー リソースにアクセスする代わりに、サービス データの更新のみを許可するためにも使用されているようです。私が考えた別の解決策は、ユーザーが「許可」ボタンをクリックしたかのように、ユーザーのサインアップ時に認証コードを自動的に提供し、その許可でリクエストを実行することcode
です。ここでの欠点は、そのニーズを持つサービスが作成されるたびに新しい認証コードを作成する必要があることですが、それはより明確な解決策のようです (ユーザー XXX の認証コードはユーザー XXX のリソースへのアクセスのみを許可するため)。
また、標準が多くの柔軟性を提供するため、実装が異なることも理解していますが、適切なソリューションはどれだと思いますか? どのように対処しますか?「統計サービス」がすべてのユーザー リソースへのアクセスを許可されている、または「統計サービス」がすべてのユーザーによってリソースへのアクセスが許可されている、と言う方が明確でしょうか?