我已经在 Azure AD 中注册了两个应用程序;一个是服务器,另一个是客户端作为一组。创建了两个集合;一套用于生产,另一套用于 UAT。客户端应用程序属于“Web”类型,而不是 SPA。
Production Server App 几乎是 UAT Server App 的克隆。而生产客户端应用几乎是 UAT 客户端应用的克隆。
消费者通过使用 OAuth 2.0 令牌端点 (v2) https://login.microsoftonline.com/[--Tenant--]/oauth2/v2.0/token 作为带有密钥的客户端凭据流来使用客户端应用程序来获取令牌。生成的令牌用作不记名令牌来授权我的 Web API。
在生产客户端应用程序上,它在从 Token 端点检索 Token 时返回一个错误,并显示为:
<块引用>AADSTS9002326:仅“单页应用程序”允许跨源代币赎回
这里有什么奇怪的:
基于这些事实,说生产消费者站点存在网络限制是不合理的。我不知道为什么应用程序不在内部网络中而是在公共网络中生成令牌,而 UAT 应用程序在不考虑环境的情况下生成令牌没有问题。
这个案例几乎详细说明了我的 case,但我已经检查了我的,其中客户端应用程序是公开的,服务器应用程序是私有的。
在哪里搜索?寻找哪些领域?