用于私有和公共资源的oAuth2.0

用于私有和公共资源的oAuth2.0,oauth,oauth-2.0,Oauth,Oauth 2.0,我想在我的web应用程序中实现oAuth2.0协议,用于服务器和移动应用程序之间的通信(资源服务器和移动客户端都属于同一家公司)。 考虑到服务器和客户端之间的高度信任,我决定实现资源所有者密码凭据流,这是我的问题:一些资源没有保留(如产品列表、产品详细信息),因此它们不需要资源所有者的访问令牌;但其他资源是私有的(用户的产品愿望列表等)。 因此,对于非私有资源,我只需要验证客户端(移动应用程序),而对于私有资源,我需要验证客户端和资源所有者。 考虑到用户可能会在一瞬间浏览应用程序并登录,我是否必

我想在我的web应用程序中实现oAuth2.0协议,用于服务器和移动应用程序之间的通信(资源服务器和移动客户端都属于同一家公司)。 考虑到服务器和客户端之间的高度信任,我决定实现资源所有者密码凭据流,这是我的问题:一些资源没有保留(如产品列表、产品详细信息),因此它们不需要资源所有者的访问令牌;但其他资源是私有的(用户的产品愿望列表等)。 因此,对于非私有资源,我只需要验证客户端(移动应用程序),而对于私有资源,我需要验证客户端和资源所有者。 考虑到用户可能会在一瞬间浏览应用程序并登录,我是否必须将协议流分为两个步骤?如果是,如何处理令牌存储

我希望我说得够清楚了。
提前感谢

请注意,OAuth 2.0资源所有者密码凭据授予(或流)与其说是关于客户端和资源服务器之间的信任,不如说是关于授权服务器和客户端之间的高度信任,因为客户端“看到”它发送给授权服务器的密码(它从不将其发送到资源服务器)

在您的情况下,您可以获得并使用通过不同流获得的2个访问令牌:

  • 一种访问令牌,由客户机本身通过客户机凭据授权获得,用于公共资源
  • 通过资源所有者Passwrod凭据授予从资源所有者获得的访问令牌,代表资源所有者对私有资源使用
  • 这都是假设您想要保护您的“公共”资源。如果这些资源是真正的公共资源,您甚至不需要保护它,也不需要发送任何访问令牌,因此1.甚至不是必需的