【问题标题】:Microservices OAuth2/OpenID Connect flows微服务 OAuth2/OpenID Connect 流
【发布时间】:2017-04-18 08:24:14
【问题描述】:

我正在使用微服务架构构建一个新的应用程序平台,但我已经阅读了很多关于要使用的不同类型的身份验证/授权的内容。

我正在接受 OAuth2/OpenID Connect,但只是为了确保我的假设是正确的。

我想知道我的流程是否适合处理我的应用程序的身份验证/授权。 其次,对于我信任的应用,如何防止 OAuth 征求用户同意?

【问题讨论】:

    标签: oauth oauth-2.0 openid-connect vert.x kong


    【解决方案1】:

    就协议/标准而言,为您描述的系统使用 OAuth 2.0 和 OpenID Connect 是正确的决定。它们正在积极使用中,拥有大量库和第三方提供商的支持,并且它们的设计还考虑了当今系统对 HTTP 的严重依赖。

    在为每个应用程序选择正确的流程方面该决定不受被视为第三方或受信任应用程序的应用程序的影响;它更多的是关于应用程序的部署特性,以及应用程序是否希望代表最终用户或代表应用程序本身访问资源。

    请查看Auth0 - Which OAuth 2.0 flow should I use? 以获得有关此决策过程的良好说明。

    第三方应用程序和受信任的应用程序之间的区别是由身份提供者/授权服务器自行决定的。这通常是受支持的,因此如果应用程序是受信任的,则不会向最终用户明确征求同意;在这些情况下,将应用程序标记为跳过最终用户同意被视为一个管理步骤,在该步骤中,有人单方面地以行政方式决定已向该应用程序授予同意,因此没有必要向最终用户征求同意。

    如果您确实决定支持某些应用程序的管理同意,请记住,如果这些应用程序的特性不允许它们成为机密客户端(支持对客户端应用程序本身进行身份验证的安全机制)或具有其他一些确保客户端身份的方法然后恶意应用程序可能会尝试伪造受信任的应用程序以跳过用户同意步骤

    【讨论】:

      猜你喜欢
      • 2017-12-17
      • 2021-10-18
      • 2016-11-19
      • 2015-05-09
      • 2018-02-15
      • 2017-08-12
      • 1970-01-01
      • 2021-01-09
      • 2016-12-18
      相关资源
      最近更新 更多