受信任的应用程序和 API 之间的身份验证

Authentication between trusted application and an API

应用设置

应用程序 A:第三方,windows 桌面应用程序。这是用户需要登录的应用程序。本地登录 managed/authenticated

应用程序 B:我们的应用程序,一个 windows 系统托盘应用程序。这与应用程序 A 集成。提取信息并发送到应用程序 C。

应用程序 C:这是我们的 API,应用程序 B 调用它来发送数据。

目前,用户需要使用 GUI 在应用程序 C 中创建一个帐户,然后在应用程序 B 中输入用户详细信息才能继续。然而,用户质疑这个过程,因为他们无法区分应用程序 A 和 B 之间的所有权,因为它们是紧密耦合的。

鉴于我们可以相信如果用户登录到应用程序 A,他们是真实的,我想提出一个不需要创建另一个登录名的解决方案。这将基于应用程序 B、C 之间的信任以及检测用户是否登录到应用程序 A 的能力。

最终结果是,如果用户登录到应用程序 A,应用程序 B 会检测到该情况并将用户详细信息发送到应用程序 C。鉴于 B 之间存在信任,C 用户将不需要做任何事情用于 B 和 C 之间的身份验证。但是 C 将使用登录到 A 的用户进行授权。

有什么办法可以完成吗?在基于令牌或受信任的应用程序身份验证方面...

这完全取决于应用程序 A 公开的接口。如果应用程序 A 具有可以查询身份验证状态的 API,您可以使用该 API 来实现您的身份验证模式。

如果应用程序 A 支持 OAuth 等高级身份验证机制,您也可以绑定它们以获得类似的结果。

如果两者都没有,那你就不走运了。不存在用于交换身份验证状态的通用标准。