我目前正在与一个客户端合作,并被赋予为同一客户端创建第二个应用程序的任务。该应用程序将基于 Web(asp.net 核心(,并且由于我已经使用带有标识框架 asp.net MVC 为他们完成了一个应用程序(带有一些扩展的样板(,我希望核心中的这个新应用程序也使用该标识实例,因为一些用户将访问这两个应用程序。我知道这在那里,但我还没有找到任何关于如何实现这一目标的答案或教程?任何帮助将不胜感激。谢谢!
您可以使用同一身份数据库来处理身份验证和授权。
将ApplicationId
字段添加到表中AspNetUsers
,从UserStore
派生并重新实现基于 Find 的方法,以便查询考虑ApplicationId
在这种情况下,每个新应用程序都将具有新的应用程序 ID。
此外,您可以分离身份数据库,以便分离授权过程,从而分离应用程序依赖项,将来轻松添加新应用程序并根据需要进行扩展。
然后,可以使用持有者令牌和 Web API。用户登录后,您将传递用户请求访问的应用程序的username
和ApplicationId
,然后您的安全服务将返回一个持有者令牌(如果授权(,如果没有,则返回 401 错误。