2017-01-31 4 views
2

認証サーバー上の認証チケットセットにアクセスする方法は、リソースサーバーとは別の場合はありますか?私はopeniddict使用時の認証チケット情報へのアクセス

var authInfo = await Request.HttpContext.Authentication.GetAuthenticateInfoAsync(OAuthValidationDefaults.AuthenticationScheme); 

    var myProperty= authInfo.Properties.Items.FirstOrDefault(p => p.Key.Equals("property_name")); 

を使用して設定したすべてのチケットのプロパティにアクセスすることができます認証サーバーに

私は、リソースサーバ上で、この中にしようとすると、しかし、私は同じプロパティを表示することができません。

+0

興味深いことに、これはうまくいくはずです。検証ミドルウェア(およびデフォルトのトークン形式)を使用していますか? – Pinpoint

+0

私はイントロスペクションミドルウェアを使用しています。 認証サーバーがリソースサーバーと別の場合は、検証ミドルウェアを使用することはできません。 –

+0

同じASP.NET Core Data Protectionキーリングを使用するように構成されていて、DPオプションで同じアプリケーション名が設定されている場合は、リソースサーバーに検証ミドルウェアを使用できます。詳細はhttps://docs.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overviewを参照してください。 – Pinpoint

答えて

1

アクセストークンに格納されている認証プロパティにアクセスできるようにするには、デフォルトのアクセストークンおよびを検証ミドルウェアで使用する必要があります。

イントロスペクションミドルウェアを使用する場合は、これらのプロパティをフローできません。代わりに、それらをリソースサーバーに公開できるように要求として格納します。

関連する問題