我正在使用Identity Server4 .
我按照快速入门并复制了一个场景,我有3个Web应用程序1. MVC web App 2. JS web App 3. API应用程序
我还配置了ASP.Net Identity以拥有持久的用户和客户端存储 .
现在,从JS Web App的Allowed scopes值中删除了一个范围“api1”,期望生成的令牌不具有此范围值 .
但是当我尝试登录时,我甚至无法查看页面,而是在管道中的某个位置获得异常 .
我之前的理解是允许的范围是一堆字符串,资源应用程序可以在服务资源时将其用于授权目的 .
任何人都可以解释我为什么要面对这个问题,还是我错过了任何一点?
如果我再次向JS Web客户端添加“api1”范围,我可以查看登录页面 .
1 回答
谢谢你的日志 . 从javascript客户端从允许的范围中删除
api1
范围时,您删除了该客户端对该范围的访问权限 . 应用程序本身正在请求api1
但它没有权限这样做 . 因此,您需要从客户端编辑javascript客户端配置,也不要求api1
.关于快速入门指南,但是你定义了客户端及其配置的地方,我会说你看起来像这样:
请记住,客户端必须明确(在大多数情况下)表达其范围要求,如果您的任何资源范围要求失败,它将使请求失败 . 因此,您禁用了js客户端允许的范围,但它仍在请求无法访问的范围 .