2

我有一个网站使用 Microsoft 帐户进行身份验证已超过三年。它是一个 Node Web 应用程序,使用的是passport-windowslive包。

最近,当用户使用他们的 Microsoft 帐户成功登录后从 login.live.com 返回时,会收到两种类型的错误之一,有时:

为输入参数“范围”提供的值无效。目标“我的网站域”不存在。

或者:

为“代码”值提供的值无效。代码已过期。

错误是零星的。我无法在我的开发机器上重现它。

由于该passport-windowslive软件包是四年前最后一次更改的,而我的代码两年多没有更改,原因看起来像是在 Microsoft 端。发生了什么变化?


更新:问题越来越严重。以前,有时可以通过使用隐身浏览器会话或更改浏览器来解决问题。现在它发生在所有浏览器上。但是在 localhost(没有 http)上运行时,我仍然无法重现该错误。

4

1 回答 1

0

Microsoft 已更改其应用程序用于 oAuth 的方式。它们现在必须从 Azure 而不是 apps.dev.microsoft.com 或 Microsoft Live 进行管理。

在 apps.dev.microsoft.com 中配置的现有应用程序将导致:

AADSTS700016:在目录“aaaaaaaa-bbbb-cccc-ddd-eeeeeeeeeeee”中找不到标识符为“000000xxxxxxx”的应用程序。如果租户管理员未安装应用程序或租户中的任何用户未同意此应用程序,则可能会发生这种情况。您可能已将身份验证请求发送给错误的租户。

passport-windowslive模块不知何故没有冒泡错误响应。

于 2020-05-20T16:54:53.243 回答