私のアーキテクチャでは、認可サーバーとしてIdentityServer3を使用しています。JWTのクレームとリソースのクレームの変換
私はクライアント(ウェブアプリケーションとiOSアプリケーション)にリソーススコープを介してアクセスすることを許可するAPIリソースを持っています。
質問1: 私は私のAPIでクレームベース認証を行いたい場合(例:請求が一部のユーザだけが持っていること、CanViewQuestions
と呼ばれる)、べきI:中など、
a)に使用IdentityServer、ユーザーがそのクレームを持っているかどうかを確認してJWTに追加してください。
b)件名(例:userId)のクレームをJWTに入れ、APIでそれを調べてクレーム変換を実行しますか?
私は現在b)をやっていますが、認証サーバー(例:IdSrv)自体でこれを実行する必要があるのだろうか?
おすすめの方法は何ですか?
質問2
私はまた私のAPIリソースへのアクセス権を与えたいこと(特にAzureの労働者)バックグラウンドサービスを使用している場合、私は、クライアントの資格情報は、このサービスにアクセストークンを与えるために流れを使用することができます。 しかし、私はこのサービスに上記の同じ請求をどのように与えることができますか(CanViewQuestions
)?私は基本的に、特定のリソースがクレームCanViewQuestions
を必要とすることを保証するAPIを持っていますが、クライアントがウェブアプリケーション(例えば、エンドユーザ)かクライアント(エンドユーザなし)であるかどうかは関係ありません。依頼者がクレームを持っている場合は、行きたい。
私が持っているつもり午前:
a)は、クライアントがサービスであるかどうかを確認するためにクレームベースの変換を使用して、そしてちょうどすべての請求を追加しますか?
b)は、JWTでのクレーム(私はクライアントの資格情報が主張をサポートしていない流れを読んだが)
C)何かを埋め込み?
多くの感謝!