【发布时间】:2017-07-26 13:08:46
【问题描述】:
我正在处理的一个项目由一个 Web API、一个单页响应应用程序和一个移动应用程序组成。从每个客户端,用户需要提供他们的用户名和密码才能访问 Web API 的受保护部分。我设置了一个 Identity Server 4 身份验证服务器,它使用我自己实现的 IProfileService 和 IResourceOwnerPasswordValidator 接口,因为我使用的是 ASP.NET Core Identity。这允许 Identity Server 访问 ASP.NET Core 标识 UserManager、RoleManager 和 SignInManagers 以确定提供的用户名和密码是否有效。
我一直使用的授权类型是“ResourceOwnerPassword”类型。我还没有将授权完全集成到单页应用程序中,但我可以将用户的用户名和密码传递给身份服务器,并生成一个令牌,我可以将它添加到我的 API 请求的标头中。
我对 Identity Server 和相关技术进行了更多研究,因为我对这一切都不熟悉。似乎不希望使用 ResourceOwnerPassword 授权类型。据我所知,我似乎应该使用隐式授权类型,但我不完全理解用户名和密码如何适应该流程。有谁知道我应该使用哪种类型?我描述的系统是否只能使用 ResourceOwnerPassword 授权类型?
【问题讨论】:
标签: asp.net-core identityserver4 asp.net-core-identity