【发布时间】:2018-08-25 08:44:24
【问题描述】:
我是 IdentityServer 的新手。我已经按照 IdentityServer4 教程here
但本教程仅展示如何保护 .net 核心 API。我找不到任何使用 IdentityServer4 的教程,该教程还展示了如何保护 .net 4.# WebAPI。我在 StackOverflow here 上找到了一篇帖子,建议使用 Microsoft Katana JWT 中间件,但我不知道如何实现,因为我是新手。
任何人都可以向我指出一个教程(或必要时的组合),它将为我指明正确的方向。提前致谢。
更新:
我正在尝试将 IdentityServer3 用于 API,将 IdentityServer4 用于授权服务器。
我已经创建了一个 IdentityServer4 授权服务器,这似乎工作正常。
我创建了一个 WebAPI(使用完整的 .Net 框架 - 在本例中为 4.7.1)。我已按照 IdentityServer3 文档中有关如何将 IdentityServer 合并到 API 中的说明进行操作。因此,正如预期的那样,当我尝试通过浏览器直接导航到控制器时,我现在得到了 401 未经授权的访问,所以这是安全的。
我创建了一个控制台客户端。我已将其配置为指向 IdentityServer4 Auth Server,现在获取访问令牌。
仅当我在客户端上使用此访问令牌设置 BearerToken 时,我仍然得到 401 Unauthorized。我已经将 http 和 https 都用于授权服务器了……我现在又摸不着头脑了!
【问题讨论】:
-
问题类似,但我想保护 WebAPI,而不是 Webforms,并且客户端将是一个手机应用程序,但那一点现在并不重要,我正在使用控制台应用程序目前作为测试客户。我正在为 WebAPI 端所需的中间件而苦苦挣扎。我现在正在尝试从 IdentityServer3 的角度设置 API(使用 IS3 文档),但将服务器保持为 IdentityServer4...我会发回我发现的内容。
-
我认为您可以遵循 IdentityServer4 文档,但不要使用 IdentityServer4 包,而应该使用 IdentityServer3 包。因为任一版本都支持相同的规范。
标签: asp.net-web-api identityserver4 identityserver3