【问题标题】:Generic OAuth clients integrations通用 OAuth 客户端集成
【发布时间】:2016-10-07 16:26:50
【问题描述】:

我有一个产品,它调用多个第三方 rest api 来获取某些数据。 有多个供应商 api 需要 oAuth 支持。他们可以授予我帐户和客户端以访问他们的 api,但我的服务需要使用这些帐户和他们的 CI 生成令牌。

如何构建一个通用框架来支持多个供应商 CI。 我认为这有点复杂,因为有些供应商使用 oAuth1 ,有些使用 oAuth 2 .. 是否有任何现有的解决方案? 如何处理令牌刷新?

例如:

一个供应商可以是 google 使用 google CI 其他供应商可以是 Facebook 使用他们的 CI。

【问题讨论】:

    标签: oauth oauth-2.0 google-oauth


    【解决方案1】:

    Facebook 和 Google 的工作流程几乎相同,因此后端(以及前端,在某种程度上)绝对可以以通用方式设计:

    • 仅为为实际的客户端应用程序设置客户端 ID(因此为 Authorized JavaScript origins),而不是为后端设置。
    • 将每个客户端与每个 OAuth 提供者集成
    • 通过通用抽象模型向后端/API 发送数据(提供者令牌)
    • 在服务器端验证令牌(每个提供程序的执行方式不同,但您可以有一个 IProviderAuthValidator 和多个实现)
    • 创建帐户/登录等

    因此,唯一特殊的位应该是这 2 个: - 获取提供者令牌客户端 - 验证所述令牌服务器端

    【讨论】:

      猜你喜欢
      • 2017-06-19
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 2021-07-16
      相关资源
      最近更新 更多