我们公司有一个API(基于Laravel构建),可根据制造商的医疗品牌为国家/地区提供某些医疗数据。
我们目前为公司开发了自己的应用程序,可用于监视数据,生成报告,在数据库中编辑公司信息等。我们在API中使用OAuth 2.0
。该应用程序具有一个包含电子邮件和密码的登录表单(我们使用OAuth 2.0 Password Grant
作为令牌),或者用户可以使用他们的手机或身份证进行登录(使用Laravel的Personal access token
作为令牌)。
我们所有的API端点均受API认证的中间件和用户角色中间件的保护。
几天前,我们收到了一家公司(他们是我们的合作伙伴,我们知道他们)的请求,该公司希望在不使用我们的应用程序的情况下使用我们的API,这让我开始思考哪种oAuth流程是合适的。我们不知道他们的应用程序是什么样子(可能很旧)。我们只知道它正在PHP
和Apache
上运行。
我们在数据库中存储了他们的制造商数据,并且我为他们创建了OAauth客户端,该客户端既不是个人访问客户端也不是密码客户端,因为它们在我们的数据库中没有用户帐户。我知道我不能使用Authorization Code Grant
,因为他们在我们的数据库中没有用户帐户,这导致了我的下一个问题:
Client Credentials Grant
吗?我已经读到这是用于SPA的。如果是,我是否必须重新创建API端点,或者还有其他事情要做?Client Credentials Grant
,因为没有经过身份验证的用户,是否需要开始实现作用域?