【问题标题】:IdentityServer4 - User creationIdentityServer4 - 用户创建
【发布时间】:2018-05-12 03:26:05
【问题描述】:

我目前正在使用 ionic2+ 和 .net 核心后端创建一个 Web 和移动应用程序。在从 identityserver4 文档(包括身份 + 实体框架)实施快速入门后,我意识到我没有办法从移动应用程序创建用户。

我的解决方案由以下项目组成:

  • Project.Api
  • Project.Web
  • Project.IdentityServer

第三个实现身份,我可以从网络重定向到身份服务器进行登录和注册。 在 api 中,我已经为 identityserver 项目配置了权限,如果我从 identityserver 获取令牌并将其附加到我的 http 请求的授权标头,我完全能够访问受保护的端点。 但我必须直接在数据库中创建用户。

有没有办法直接在identityServer项目中注册用户?

【问题讨论】:

  • 您的用户当前是否存储在数据库中,或者这部分也是新的?
  • 如果你正在寻找一个完整的用户管理解决方案,我的项目提供了cloudscribe.com/docs/identityserver-integration
  • @aaronR 是的,我已经将用户保存在远程 SQLServer 数据库上。
  • 您使用的是 IdentityServer4 1.x 还是 2.x?
  • @aaronR IdentityServer4 和 .Net Core 2.0

标签: ionic2 ionic3 identityserver4 asp.net-core-2.0


【解决方案1】:

我建议您实施自己的用户管理,您可以轻松地将一些选项与 IdentityServer4 一起使用。

例如,您可以创建自己的用户存储并在 IdentityServer4 中使用它。

这里有一个关于如何做的快速演示。 https://github.com/IdentityServer/IdentityServer4.Quickstart.UI

基本上你需要做的就是:

  • 直接在帐户控制器上实施身份验证。

  • 实现 IProfileService 以返回令牌声明

另外,如果您已经熟悉 ASP.NET Identity,IdentityServer 支持它,请查看:

http://docs.identityserver.io/en/latest/reference/aspnet_identity.html

IdentityServer4 还支持 Windows 身份验证(如果您想使用域用户),实现起来非常简单,请查看:

http://docs.identityserver.io/en/latest/topics/windows.html

【讨论】:

  • 我正在使用 netcore.identity。但是在 identitySever 项目上实现,所以我必须在 api 和 web 项目中实现身份。这是一个正确的方法吗?
  • 我会将它作为一个单独的服务,当需要授权时,identityserver 会与之连接
  • 你可以考虑在identityServer中拥有api。
  • 是否有必要在身份服务器 4 中使用证书,因为我收到此错误:无法创建以从以下位置获取配置:'localhost:33132/identity/.well-known/openid-configuration'。
  • @YahyaHussein 你有更新的链接吗?你发布的那些已经坏了。谢谢!
【解决方案2】:

听起来,您的移动应用程序想要模仿 IdentityServer 功能,在这种情况下,我建议有一个 API 项目(确保保护由 IdentityServer 备份的此资源)。然后向 api 端点发出请求以创建/修改用户。

理想的方法是重定向到 Idm 服务器页面,您已经在其中集中了用户创建的逻辑和工作流。

【讨论】:

  • 最初我计划在一个单独的数据库中使用 netcore.identity 和 identityServer4 来利用所有用户管理和授权/身份验证项目,这是根据文档的正确方法。但是我的移动用户必须事先在网站上注册。我想我现在要为整个解决方案使用相同的数据库,为 netcore.identity 实施一个附加项目,一些用户管理服务以及来自 api 和 web 项目的引用,identityServer 项目将起作用仅作为授权/身份验证。
猜你喜欢
  • 1970-01-01
  • 2022-01-19
  • 2018-10-05
  • 1970-01-01
  • 2017-11-08
  • 2019-12-21
  • 2017-12-16
  • 2017-03-28
  • 2017-07-16
相关资源
最近更新 更多