【发布时间】:2018-01-22 14:37:40
【问题描述】:
我正在构建一个 API,我们将其称为 CommonApi,其他 API 将使用该 API。对于此示例,假设我们有一个应用程序,其前端使用superNewTrendyFrameworkThatsTheBest.js 和一个 WebApi 后端,我们将其称为 AppApi。我们使用的是我们的 IDP 提供的 MS Identity。
因此,应用程序将使用自己的 API AppApi 调用 IDP 并对用户进行身份验证,通过声明获取所有角色和权限,以及访问令牌以继续使用 AppApi 和所有它是看门人的光荣资源。
现在,我有点卡住的部分是在用户已经通过身份验证后如何访问 CommonApi。我已经拥有来自 IDP 的访问令牌(可能是 JWT)以及所有角色和权限。我需要检查 AppApi 是否允许 访问 CommonApi,但如果可以避免,我还希望每次调用 CommonApi 或再次调用 IDP 时检查数据库。
是否应该有第二个令牌来访问 CommonApi?如果可能的话,我想避免这种情况,但如果这是最好的方法,那就是我会做的。我不是在寻找特定于技术的解决方案——库、中间件等,而是对我应该做什么的理解。
【问题讨论】:
标签: authentication asp.net-core architecture oauth-2.0 asp.net-web-api2