Facebook 它们如何使用Oauth2区分内部和外部应用程序

Facebook 它们如何使用Oauth2区分内部和外部应用程序,facebook,web-services,rest,oauth-2.0,authorization,Facebook,Web Services,Rest,Oauth 2.0,Authorization,假设我定义了一个Web服务API,并希望实现OAuth服务器,以提供对第三方移动应用程序和我自己的移动应用程序的访问 由于这两种类型的应用程序(内部/外部)将尝试访问我的API,身份验证服务器将它们区分开来的可能机制是什么 作为一个例子,考虑脸谱网应用程序和Lyft(外部)。当通过Lyft登录到脸谱网时,FB将其识别为第三方应用程序并请求许可级别,但在脸谱网(内部)应用程序中,它们不要求许可级别。他们是怎么做到的 *如果我错了,请纠正我。OAuth 2.0通过以标识符和共享密钥的形式授予客户机/

假设我定义了一个Web服务API,并希望实现OAuth服务器,以提供对第三方移动应用程序和我自己的移动应用程序的访问

由于这两种类型的应用程序(内部/外部)将尝试访问我的API,身份验证服务器将它们区分开来的可能机制是什么

作为一个例子,考虑脸谱网应用程序和Lyft(外部)。当通过Lyft登录到脸谱网时,FB将其识别为第三方应用程序并请求许可级别,但在脸谱网(内部)应用程序中,它们不要求许可级别。他们是怎么做到的


*如果我错了,请纠正我。

OAuth 2.0通过以标识符和共享密钥的形式授予客户机/应用程序自己的一组客户机凭据来区分客户机/应用程序,分别命名为
客户机id
客户机机密

,这是否意味着内部应用程序也有一个标识符和共享密钥,但它们具有更高的权限?确切地说,在运行时,客户端获得一个与某些“作用域”关联的访问令牌,即特定于该客户端的权限;该令牌是基于客户端标识授予的。因此,即使它是内部应用程序,该应用程序仍会调用/oauth/token端点,例如?