Identityserver和SQL Server数据库

时间:2018-10-01 10:04:27

标签: sql-server identityserver4

我们正在寻找Identityserver4的全新实现, 我浏览了文档,并在VS2017和sqlserver中的DB上安装了Project。

数据库是使用为漫游器ConfigurationData以及Operational DAta提供的默认迁移脚本创建的。 我很困惑,用户将如何添加客户端等? 同样在启动时,默认的ASPNEtIdentity被添加,但是在数据库中没有ApplicationUser表,那么用户数据将在哪里? 我的要求很简单-用户将足以通过其凭据(或可能是第三方应用程序)登录到应用程序,并将使用该应用程序或 API将直接使用身份服务器进行客户端凭据范围

请在此告诉我

  1. 我是否应该介绍AspNetIdentity,为什么?
  2. 迁移产生的数据库中用户表和用户密码在哪里?
  3. 我们如何将用户客户端和资源添加到已创建的数据库中
  4. 我需要添加登录/注销页面吗?
  5. 在API中,APIResource用于定义资源“ api1”,并且客户端代码使用相同的资源来获取访问权限,但是此“ api1”在方法的定义/签名处不被使用,因此相关吗?

1 个答案:

答案 0 :(得分:1)

首先,IdentityServer4本身无法处理用户或其身份验证-您要么需要使用ASP.Net Identity以及将其连接到IdentityServer4的集成库,要么自己构建所有这些东西。

总而言之:

  1. 是的,您需要使用它或滚动您自己的用户存储和身份验证逻辑
  2. 由ASP.Net Identity提供或自行构建
  3. https://www.identityserver.com/documentation/admin-ui/可能符合您的需求,或者您可以构建自己的工具和/或脚本来实现
  4. 是的,尽管快速入门示例提供了很好的基本出发点
  5. 默认情况下,承载令牌中间件将验证访问者(ApiResource.Name),但我更喜欢使用过滤器(例如[ScopeAuthorize("my.api")] public MyResult ApiAction() { ... })在更精细的控制器或操作级别上强制作用域。该过滤器将检查ClaimsPrincipal中的一组索赔中是否定义了指定的范围。
相关问题