我有一个相对较小的项目。我之前已经作为不同的独立项目开发了安全API和Web客户端,这是第一次在同一解决方案中使用多个项目,目前看起来像这样:
我已经看到了许多保护API的方法,例如使用身份服务器(例如openiddict
,identityServer4
)。我的项目不会被很多用户使用,只有少于10个用户具有不同角色,例如管理员,主持人,也许还有一些编辑器。
诸如身份服务器之类的方法对于该项目而言要复杂得多。我知道身份服务器使它变得安全,但是它增加了许多我不需要的东西。我想要的只是API项目中的身份验证和授权逻辑-使用asp.net身份-,并且Android和Web应用程序都应具有某种令牌(例如jwtBearer
)才能与api并访问资源。
我仍在学习像OAuth2这样的安全协议,但是这种方法安全吗?以及我应该如何在Web客户端中实现令牌认证?我应该将其存储在Cookie中,还是应将其存储在后端并随每个httpClient请求一起发送?有哪些不同的方法?我应该回去使用身份服务器吗?