错误请求 - 错误 3840:无法读取数据,因为使用登录策略时数据格式不正确

Bad Request - ERROR 3840: The data couldn’t be read because it isn’t in the correct format when using a Sign In policy

此处记录的问题: https://github.com/AzureAD/azure-activedirectory-library-for-objc/issues/537

指导就是在这里问

我发现注册和登录策略均失败并出现 BadRequest 400:

2016-02-24 17:48:30.047 Microsoft Tasks for Consumers[8167:232019] -[ADAuthenticationBroker webAuthenticationDidCompleteWithURL:][408][main] 
 2016-02-24 17:48:31.275 Microsoft Tasks for Consumers[8167:232077] ADALiOS [2016-02-24 20:48:31 - 00000000-0000-0000-0000-000000000000] ERROR: JSON deserialization. Additional Information: Error: Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}. Body text: 'Bad Request'. HTTPS Code: 400. Response correlation id: (null). ErrorCode: 3840.
 2016-02-24 17:48:31.287 Microsoft Tasks for Consumers[8167:232077] ADALiOS [2016-02-24 20:48:31 - 00000000-0000-0000-0000-000000000000] ERROR: Error raised: 3840. Additional Information: Domain: NSCocoaErrorDomain Details: The data couldn’t be read because it isn’t in the correct format.. ErrorCode: 3840.

从问题post复制的图像: Screen shot of error occurring in Xcode

一些补充说明:

上周,对于注册,如果我从策略 blade 中选择 "Run Now",策略将运行至完成,我可以看到正确的详细信息,包括 Azure 中的显示名称管理门户用户 table.

本周,当我这样做时,显示名称总是在 Azure AD 用户 table 中显示为 "unknown"。我不确定它是否相关,但是,我没有更改我的应用程序的任何内容。

感谢 ADALiOS 人员,问题似乎是因为我们没有使用相同的 clientId 和 scopeId 进行请求。这确实解决了问题。

Git 中心线程在这里: https://github.com/AzureAD/azure-activedirectory-library-for-objc/issues/537