IDServer4でのAPIリソースには、https://identityserver4.readthedocs.io/en/release/configuration/resources.html#defining-api-resourcesのように2つの異なるスコープを定義したいと考えています。 1つのエンドポイントがあり、ユーザーにログインさせることなくクライアントアプリケーションをヒットさせ、残りのエンドポイントはユーザーの操作(ハイブリッドフローfwiw)で完全に保護されます。IdentityServer4と複数のスコープの使用
どちらのフローでもAPIにアクセスできるようになりました。私が混乱しているのは、上記の構成で、クライアントの資格情報フローを制限された範囲に限定する方法です。私はその流れがAPIの全面的なレベルに達することを望んでいません。ユーザーがログインすると、残りのAPIにアクセスできます... APIの別の「スコープ」...
これはネイティブ/モバイルアプリケーション用です。クライアントの資格情報のクライアントシークレットはアプリケーションに埋め込まれています。 APIの残りの部分がより良い保護を必要とする理由はこのためです。しかし、リソースの両方の許可タイプを許可するようにIdentityServer4を設定すると、誰かがそのクライアントシークレットを見つけてネイティブアプリケーションの外部で使用して、残りのAPIにアクセスすることができなくなるでしょうか?そのグラントタイプをより制限されたスコープに制限する方法...?
サブ(件名)の主張について理解しています。私はスコープを使ってクライアントを差別化しようとすると、実際にはスコープが単にクレームになるというどこかを読むまで混乱しました。そしてそれは理にかなっています。私はそれを与えるだろう! – DennisWelu
今後の考え方...ここに記載されている2つの異なるスコープの値は何ですか:http://docs.identityserver.io/en/release/configuration/resources.html#defining-api-resourcesこれらはサービスエンドポイントでどのように「強制」されていますか? – DennisWelu
私の頭の中にApiResourceクラスとClientクラスを混ぜていました。スコープの詳細については、https://leastprivilege.com/2015/12/28/validating-scopes-in-asp-net-4-and-5/を参照してください。 2人のクライアントを持つことはもう一度意味をなさない。各クライアントは、1 ApiResourceで定義された別のスコープにマップされます。進行中... – DennisWelu