我已根据此处的指南https://identityserver.github.io/Documentation/docsv2/overview/jsGettingStarted.html
设置了一个基本的WebApi项目如果我在令牌中传递了正确的api作用域,则令牌验证工作正常,但如果未包含它(如果用户拒绝访问),则会继续按预期向响应添加403。
在EmitCorsResponseHeaders(ScopeRequirementMiddleware.cs)中,它会添加CORS头但会引发异常 -
- url: /_ah/start
script: background_starter.app
secure: admin
这应该发生还是我错过了什么? app.UseCors(CorsOptions.AllowAll)在入门指南中指定的startup.cs中设置。
由于
答案 0 :(得分:2)
这里确实存在一个问题,但我并不完全确定如何解决它。
ScopeRequirementMiddleware尝试在响应上设置Allow-Access-Control-Origin
标头,但只有在不满足中间件中设置的范围要求时才会这样做。
这显然与我们之前已在OWIN管道中已经设置了此特定标头的CORS中间件这一事实相冲突。
我不确定为什么范围要求中间件在这种特定情况下设置这些标题,我将在GitHub上创建一个问题并将其链接回这里以获得可见性。