我正在编写一个Web应用程序,该应用程序由一个用angular开发的Web前端和一个移动应用程序组成。 我正在定义一个公开多个 Web API 的微服务架构。其中大多数要求对用户进行身份验证,但其他要求公开数据。 现在,通过这种方法,每个人都可以使用不同的客户端(例如邮递员(访问API。 当然,对于大多数人来说,他们必须出示凭据并获得访问令牌。 我想知道这是否是正确的方法。用户可以使用与我的应用程序不同的客户端将自己注册到我的平台中,因为最终它只是一个公开公开的 API。 同样对于经过身份验证的,只要用户经过身份验证,我就不应该打扰请求来自哪里吗? 因此,最后,在提供这样的架构时,我们是否应该允许用户访问我们的API和数据,而不管使用的客户端如何?
这里有一些值得思考的食物:
将后端用于前端:在新后端中映射 API 的子集,并引入其他身份验证和授权策略。在这里,您可以删除对公共终结点的访问权限,或者也对它们强制执行身份验证。
用户在拥有正确的权限并经过身份验证后,应该能够访问您的 API。