私はIdentityServer v4を使用して、ASP.NETアプリケーションの承認をリソース所有者フローを使用して処理しています。IdentityServer IsActiveAsyncメソッドがプロファイルサービスで呼び出されていません
私はGetProfileDataAsync
とIsActiveAsync
という2つのメソッドを持つIdentityServer4.Core.Services.IProfileService
インターフェイスを実装しました。
トークンエンドポイントに要求するとき、GetProfileDataAsync
が期待通りに呼び出されます。私たちはこの方法を使用してクレームを発行します。
しかし、IsActiveAsync
メソッドは呼び出されません。このメソッドを実装して、ユーザーがデータベースでアクティブかどうかを判断したいと思います。このメソッドはいつ呼び出されるはずですか?
IdentityServerソース(下記参照)のコメントは、トークン発行中に呼び出されるべきであることを示していますが、トークンを要求するときにはこのメソッドが呼び出されないことを示しています。私は何かが足りないと思う。どんな助けもありがとう。
今// Summary:
// This method gets called whenever identity server needs to determine
// if the user is valid or active (e.g. if the user's account has been
// deactivated since they logged in). (e.g. during token issuance or
// validation).
Task IsActiveAsync(IsActiveContext context);