我正在开发一个 Web API,它将支持几个应用程序:一个网站、一个配套的移动应用程序和可能的几个第三方应用程序。每个应用程序都应从身份验证服务器获取访问令牌,然后将其提供给 API,用户将在身份验证服务器 Web 界面(用于第三方应用程序)或直接在网站或应用程序(用于“受信任”应用程序)。客户端应用程序本身不需要用户身份。
我已经开始通过 OAuth 2 实现它,它完全符合我的用例。但后来我在网上发现了一些讨论,这让我思考我的场景是否真的需要 OpenID Connect,而现在,在阅读了几千字之后,我仍然无法理解哪个更适合我的情况。
(比如 GitHub,大致符合我的用例,使用的是OAuth 2)
我想听听一些关于如何选择自己的 API 需要 OAuth 2 还是 OpenID Connect 的指南。
更新
让我感到困惑的是:不使用 OAuth 进行身份验证是有道理的。但是考虑这种情况(假设有一个简单的业务规则:每个用户只能看到自己的文档):
- 应用程序去身份验证服务器获取令牌
- 用户授权应用程序,因此授予令牌
- 应用程序使用数据令牌转到 api
- api为授权令牌的用户返回文档(因此可以以某种方式将令牌追溯到用户)
这是身份验证方案还是授权方案?
PS。我知道这个问题,但那里的最佳答案并没有解决我的疑问。