web-dev-qa-db-ja.com

OpenIdConnectProtocolValidationContext.Nonceがnullでした

こんにちは誰かがOutlook Rest APIを呼び出すときのエラーを下に得るのを助けてください

IDX21323:RequireNonceは '[PIIはデフォルトで非表示です。 IdentityModelEventSource.csの 'ShowPII'フラグをtrueに設定して、それを表示します。 OpenIdConnectProtocolValidationContext.Nonceはnullでしたが、OpenIdConnectProtocol.ValidatedIdToken.Payload.Nonceはnullではありませんでした。 nonceは検証できません。 nonceを確認する必要がない場合は、OpenIdConnectProtocolValidator.RequireNonceを「false」に設定します。 「nonce」が見つかった場合は評価されます。

14
Vialli Fritz

別名IDX21323は、(最初​​のチャレンジ呼び出しで設定された)ナンスCookieを失うことを指します。最初のSignIn呼び出し(またはWebFormsポストバックSignIn)を調べて、OpenIdConnect.nonce Cookieが実際に設定されていることを確認します(Chromeネットワークタブ)。

そうでない場合は、OWINミドルウェアがCookieを設定するのと同じ問題があると思いますが、そのコンテンツは、レガシーアプリケーションの他のCookieの変更によって誤って上書きされます。これはOWINミドルウェアのバグである可能性が高いです( ASP.NET_SessionId + OWIN Cookieはブラウザーに送信しない を参照)。これは、同期していない独自のOwinContextおよびCookie表現実装を通じてCookieを処理するためです。標準のHttpContextを使用します。

初期ノンスCookieがない場合の修正方法:サインインリクエスト中のCookieの変更を回避しました->したがって、OWINミドルウェアはそのCookieを読み書きできます干渉のないクッキー。

1
r3mark

WebFormsアプリでは、プロジェクトURLでマシン名を使用したときに同じエラーが発生しましたが、ログインリダイレクトURLとして「localhost」を使用しました。両方をlocalhostに設定すると、問題はなくなりました。

1
Rich

テナントが2019年10月22日以降に作成された場合、新しいデフォルトで保護された動作が発生していて、テナントでセキュリティのデフォルトがすでに有効になっている可能性があります。

修正方法:- Azure ADアカウントに移動=>プロパティ=> [Azureリソースのアクセス管理] =>このタブを[はい]に有効にします。

0
Dhiraj Ghode