我正在开发的项目包括一个Web API、一个单页React应用程序和一个移动应用程序。用户需要在每个客户端中提供其用户名和密码才能访问Web API的受保护部分。我设置了一个Identity Server 4身份验证服务器,它使用我的自己实现的 IProfileService 和 IResourceOwnerPasswordValidator 接口,因为我使用的是ASP.NET Core Identity。这使得Identity Server可以访问ASP.NET Core Identity UserManager、RoleManager和SignInManagers,以确定所提供的用户名和密码是否有效。
我一直在使用“ResourceOwnerPassword”类型的授权类型。我还没有完全将授权整合到单页应用程序中,但我可以将用户的用户名和密码传递给身份验证服务器,生成一个令牌,然后将其添加到请求API的标头中。
由于我是新手,所以我对Identity Server和相关技术做了更多的研究。似乎使用ResourceOwnerPassword授权类型是不可取的。从我所了解的来看,我应该使用Implicit授权类型,但我不完全理解用户名和密码如何适用于该流程。有人对我应该使用哪种类型有什么见解吗?我描述的系统是否只能使用ResourceOwnerPassword授权类型?
我一直在使用“ResourceOwnerPassword”类型的授权类型。我还没有完全将授权整合到单页应用程序中,但我可以将用户的用户名和密码传递给身份验证服务器,生成一个令牌,然后将其添加到请求API的标头中。
由于我是新手,所以我对Identity Server和相关技术做了更多的研究。似乎使用ResourceOwnerPassword授权类型是不可取的。从我所了解的来看,我应该使用Implicit授权类型,但我不完全理解用户名和密码如何适用于该流程。有人对我应该使用哪种类型有什么见解吗?我描述的系统是否只能使用ResourceOwnerPassword授权类型?