HI有人可以在调用outlook rest api时帮助我们解决以下错误
IDX21323:RequireNonce是' [PII默认是隐藏的。设置' ShowPII'将IdentityModelEventSource.cs中的标志设置为true以显示它。]'。 OpenIdConnectProtocolValidationContext.Nonce为null,OpenIdConnectProtocol.ValidatedIdToken.Payload.Nonce不为null。 nonce无法验证。如果您不需要检查现时,请将OpenIdConnectProtocolValidator.RequireNonce设置为' false'。请注意,如果' nonce'发现它将被评估。
答案 0 :(得分:1)
在基于 Chromium 的浏览器中设置在 localhost(非安全)上运行的 nonce cookie 时,它被阻止,因为 SameSite=none 并且它不安全。这种情况的解决方法是将 localhost 更改为使用 SSL (use https on asp.net application running on localhost) 并更新 Azure AD 重定向 URL 以进行匹配。
答案 1 :(得分:0)
在WebForms应用程序中,当我在项目URL中使用机器名称时,出现了相同的错误,但使用“ localhost”作为登录重定向URL。当我将它们都设置为localhost时,问题就消失了。
答案 2 :(得分:0)
aka IDX21323 指向丢失随机数cookie(由最初的Challenge通话设置)。检查您的初始SignIn调用(或WebForms回发SignIn),并确认您实际设置了OpenIdConnect.nonce cookie(Chrome网络选项卡)。
如果没有,我怀疑您遇到了与我们相同的问题,即OWIN中间件设置了cookie,但是其内容被旧版应用程序的其他cookie修改意外覆盖。 这很可能是OWIN中间件的错误(请参见ASP.NET_SessionId + OWIN Cookies do not send to browser),因为它通过自己的OwinContext和Cookie表示实现来处理Cookie,而该实现与标准HttpContext不同步。
当缺少初始随机数cookie时如何解决: 我们在登录请求期间避免了cookie的任何更改->因此,OWIN中间件可以不受干扰地读取/写入其cookie。
答案 3 :(得分:0)
如果您的租户是在2019年10月22日或之后创建的,则可能是您遇到了新的默认安全行为,并且已经在租户中启用了安全默认设置。
如何解决:-在Azure资源的访问管理选项卡上转到您的Azure AD帐户=>属性=> =>将此选项卡设置为是。