小编Car*_*ldi的帖子

使用相同 REST 资源的多种身份验证方法

假设您正在构建 REST API,这些 API 可以从不同类型的消费者(人类用户、事物、不受信任的本机应用程序)访问,因此每个人都有自己的身份验证方法,用于技术或“历史”决策。

例如,用户将 JWT 与某些声明模型结合使用,而本机应用程序则通过 Oauth2 流进行授权并使用 OAuth 令牌。虽然两者都希望访问相同的端点,因此应用程序需要区分不同模型的身份验证信息并将它们路由到适当的服务

添加 HTTP 标头“X-Auth-Method”并在每个传入请求时检查它很容易,但我问自己它是否足够 RESTful,最重要的是,会给第三方消费者带来一个问题:想要集成他们的软件并且必须了解/实现某种特定于供应商的行为。

另一种解决方案是提供不同的根端点

  • api.myapp.com/v1/userapi
  • api.myapp.com/v1/clientapi

然后让 API 网关将请求路由到适当的身份验证服务验证步骤,但实际上两者都公开完全相同的 API。

以 RESTful 方式并意识到构建开放生态系统时出现的所有问题,什么会更正确?

authentication rest api-design http

6
推荐指数
0
解决办法
1261
查看次数

标签 统计

api-design ×1

authentication ×1

http ×1

rest ×1