2016-07-28 16 views
2

私はIdentityServer v4を使用して、ASP.NETアプリケーションの承認をリソース所有者フローを使用して処理しています。IdentityServer IsActiveAsyncメソッドがプロファイルサービスで呼び出されていません

私はGetProfileDataAsyncIsActiveAsyncという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); 

答えて

3

IsActiveAsyncは、リソースの所有者のパスワードを要求するために呼び出されません。私は、ユーザーが非アクティブな場合にユーザーを正常に認証しないという前提があったと思います。

これらの詳細についてはまだ決定されていません。これがどのように機能すべきかについて強い意見がある場合は、githubで問題を開いてください。 8月下旬にAPIを停止する予定です。

関連する問題