Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 第一方集中帐户应用的ROPC或客户端凭据授予?_Security_Oauth 2.0_Spring Security Oauth2 - Fatal编程技术网

Security 第一方集中帐户应用的ROPC或客户端凭据授予?

Security 第一方集中帐户应用的ROPC或客户端凭据授予?,security,oauth-2.0,spring-security-oauth2,Security,Oauth 2.0,Spring Security Oauth2,我们正在开发app-1和app-2 REST API,其中帐户将由单个帐户(公司)管理。当您需要atlassian帐户时,jira和confluence应用程序也会出现类似的情况 我很困惑将/login端点放置在何处以及在何处创建会话。我确信的是,考虑到将来第三方oauth2客户端,会话必须在oauth2提供程序(授权+资源)上创建 按照我在ROPC中看到的方式,我将在oauth2客户机上拥有一个/login,并使用凭证向授权服务器发送密码授权类型请求,创建访问令牌并绑定到会话。对于后续的资源端

我们正在开发app-1和app-2 REST API,其中帐户将由单个帐户(公司)管理。当您需要atlassian帐户时,jira和confluence应用程序也会出现类似的情况

我很困惑将
/login
端点放置在何处以及在何处创建会话。我确信的是,考虑到将来第三方oauth2客户端,会话必须在oauth2提供程序(授权+资源)上创建

按照我在ROPC中看到的方式,我将在oauth2客户机上拥有一个
/login
,并使用凭证向授权服务器发送
密码授权类型请求,创建访问令牌并绑定到会话。对于后续的资源端点请求,必须将sessionID返回给用户代理。在客户端凭据授予中,我看到授权服务器具有/login和端点,并直接向用户代理发出sessionID

访问令牌必须位于服务器端,对吗


后续问题:

资源所有者密码凭据授予(ROPC)和客户端凭据授予(CC)之间存在显著差异;第二个实例中没有单独的资源所有者

使用CC,您只需让一个应用程序代表自身运行,并访问可能不在给定用户范围内的资源。下图对此进行了说明:

(来源:)

如果您的客户端应用程序代表用户与API交互,则这不是您正在寻找的授权


关于访问令牌问题,答案是否定的,访问令牌可以在服务器环境之外提供给客户机应用程序。增加了安全风险,但如果这不可能的话,移动应用程序和基于浏览器的应用程序将无法访问需要它们的API。

我试图解决互动程序和最后一个关于访问令牌的问题,但关于端点混淆,我不得不承认我也感到困惑。你能把你的场景说得更清楚些吗?@JoãoAngelo我昨天对如何处理会话感到困惑,会话是在客户端(oauth2)还是在授权服务器上管理。现在我的结论是,我需要一个像id.atlassian.com这样的小客户端,用于第三方应用程序,当您需要在授权应用程序之前登录以进行活动会话时。因此,会话管理将在oauth2客户机中进行,对吗?可能有多个会话,其中一个由身份验证/授权服务器管理,该服务器跟踪您的登录情况,而客户机应用程序可以维护一个会话,这样他们就不必总是询问用户是谁。在第一次身份验证之后,客户端可能会创建一个会话来减少对身份验证服务器的请求数量。@JoãoAngelo我是否在正确的轨道上,这是我的后续问题,希望我能对此有您的意见以澄清:OAuth2授权类型流中始终涉及一个资源所有者(否则,框架协议没有意义)。对于CC,资源所有者是客户机。这在《毫无疑问》中有明确的解释,你是对的,这是规范调用它的方式,所以这才是赢家。就我个人而言,我发现它会因为术语过载而增加更多的混乱。尽管如此,我会更新答案,使其更清楚。谢谢。访问令牌是我需要的获取对资源的访问权限。在移动或基于浏览器的应用程序中,此安全弱点地址如何?是的,访问令牌通常用于授予您对受保护资源的访问权限。在移动或基于浏览器的应用程序中,即使存在更多安全风险,您仍然需要存储令牌。请参阅本文的部分,了解r浏览器世界存在一些风险。