从https://github.com/mjrousos/IdentityServer4Authentication处的以下repo开始,我添加了一个带有[Authorize]属性的单个“Get”方法的“ValuesController”。当我使用Web前端登录时,我能够很好地访问此端点 - Web位包含IS4快速入门中的标准Web位。
但是,当我从令牌端点(/ connect / token)请求具有以下正文(raw)的令牌时,“grant_type = password& username = gvdonovan%40gmail.com& password = Pass20!7& client_id = myClient& scope = myAPIs“然后在具有单个Authorization标头的Get请求中使用此标记,其值为”bearer [my token]“我收到401 Unauthorized响应。
答案 0 :(得分:0)
您已获得Identity Server和受保护的控制器'在同一个项目中,只有一个启动,这是我不习惯的配置。
对于我们对IdSvr的使用,我们确保客户端的启动(web api)使用了中间件" UseIdentityServerAuthentication"在configure方法中,对可接受的Authority和AllowedScopes对该客户端的适当定义。 然后,在受保护的API资源上使用Authorize标头将自动神奇地调用权限(我们的IdSvr)来验证令牌。
我们的IdSvr没有控制器或" app.UseMvc",因为它只是用于发出/验证令牌。