【发布时间】:2019-01-03 11:34:02
【问题描述】:
我不想再推出自己的安全性,并且正在考虑将 OpenID Connect 与我的 c# API 和 AngularJS 应用程序一起使用。我可以让所有这些都正常工作。但是,我的大脑似乎无法理解如何为这两种用例正确保护我的 API:
用例 1:AngularJS SPA
我的 AngularJS 应用程序连接到我的 API 并发送一个不记名令牌来识别用户并包含用户声明。这个很简单,而且有大量的文档。
用例 2:API 到 API
一些客户希望直接访问我的 API,而不是通过我的 AngularJS 应用程序。在这种情况下,我认为我可以使用客户端 ID/Secret 进行基于 toen 的身份验证,这很好,除非我对使用客户端 ID/秘密的用户一无所知。可能有 10 个用户使用调用我的 API 的同一个自定义 API。如何通过 API 调用获取用户信息?我见过其他人使用 API 密钥,然后他们查找用户并创建 JWT,但我认为可能有更简单的方法。有什么想法吗?
【问题讨论】:
-
要回答您的问题:用例 2,我需要更多上下文。 a) 您是否需要知道授权访问 API 的用户是谁? b) APP和用户是一对一还是一对多? c) 谁在维护用户凭证和注册表? d) 为什么这些客户想要“直接”访问您的 API?他们是否想要避免用户授权后续访问的单一设置?
标签: access-token openid-connect