【问题标题】:IdentityServer 3 securing webAPI with User InformatioinIdentityServer 3 使用用户信息保护 webAPI
【发布时间】:2016-05-31 22:57:31
【问题描述】:

我们需要使用开放 ID 和 OAuth 标准来保护我们的 .net web api。 IdentityServer 3 非常适合我们,因为我们必须使用现有的用户存储。

为更清晰而编辑: 我们公司为多个客户提供服务。我们的每个客户都有自己的数据库。在我们自制的客户端应用程序中,当客户用户输入他们的用户/密码时,我们会进行查找以进行身份​​验证,这也确定了应用程序连接到的后端数据库。

我们现在需要允许几个值得信赖的合作伙伴访问我们的数据库资源以满足特定需求。我们为他们创建了一个 web api 来进行特定的调用。 Web api 需要知道合作伙伴调用的客户是什么。合作伙伴从他们这边的服务调用 api,因此没有用户交互。

我正在尝试确定用于完成此操作的流程。我在https://gist.github.com/jawadatgithub/638c11f08ecc0d76b05c 找到了一些关于流量的非常好的信息。

如果我使用客户端凭据流定义客户端,我不知道他们如何传递他们代表进行呼叫的客户。我认为我们不想为每个合作伙伴/客户组合定义一个“客户”,但这是正确的方法吗?

我们最初的想法是提供一个额外的用户/密码或密钥来告诉我们客户,但我不确定客户的什么“流程”会允许这样做。

任何帮助或指导将不胜感激。

【问题讨论】:

    标签: identityserver3


    【解决方案1】:

    如果这对其他人有帮助,我们决定对这些类型的请求使用混合流。我们考虑为我们的每个客户数据库指定一个服务帐户(用户/密码),通过使用资源所有者密码凭证流请求令牌,让这个受信任的第三部分访问它们,但决定不这样做。我们决定反对它,因为标准规定不要将其用于此用途。

    如果第 3 方想代表我们的一位客户与我们互动,那么他们需要在他们这边构建 UI 以重定向到我们以进行用户/密码验证和同意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-01
      • 2016-12-07
      • 1970-01-01
      • 2021-11-23
      • 2013-02-15
      • 2023-04-01
      • 2015-09-18
      • 1970-01-01
      相关资源
      最近更新 更多