Blazor(客户端)调用不同域上的API



我当前的场景是,我有一个Blazor WASM(客户端(应用程序通过Azure API管理调用Web API,位于不同的服务器/域上。我有Blazor应用程序和Web API与Azure Active Directory B2C安全。我还在API管理器级别使用jwt-validate进行身份验证。我已经研究了如何将JWT令牌从Blazor应用程序传递到API管理和Web API(使用CustomAuthorizationMessageHandler解决方案(,但我看到Blazor在进行API调用时出现了奇怪的行为。

当我使用方法Http.GetFromJsonAsyn<MyEntity>("<api manager endpoint>")进行调用时,GET请求在API管理器中显示为OPTIONS请求,因此导致错误(无法将传入请求与操作匹配(。我尝试了多种方法来进行API GET调用,但都导致了OPTIONS调用。

我不知道这是Blazor问题、CustomAuthorizationMessageHandler问题还是其他问题。以前有人遇到过这种情况吗?更重要的是,有人解决了这个问题吗?

OPTIONS调用是一个"飞行前"调用,用于确定是否允许该调用。

API服务器上似乎没有配置CORS
但我本以为会有一个更好的错误消息,关于CORS。

请参阅文档。

相关内容

  • 没有找到相关文章

最新更新