我不知道我是否只是有某种盲点或什么,但我已多次阅读OAuth 2规范并仔细阅读邮件列表档案,我还没有找到一个很好的解释为什么隐含格兰特已经开发出用于获得访问令牌的流程.与授权代码授予相比,似乎只是放弃了客户端身份验证,没有非常令人信服的理由.这是如何"针对使用脚本语言在浏览器中实现的客户端进行优化"(引用规范)?
两个流程都是相同的(来源:http://tools.ietf.org/html/draft-ietf-oauth-v2-22):
这是流量分裂的地方.在这两种情况下,此时重定向URI都是由客户端托管的某个端点:
因此我的问题是:通过跳过客户端身份验证步骤获得了什么?
Facebook平台支持两种不同的OAuth 2.0流程供用户登录:服务器端(在规范中称为身份验证代码流)和客户端(称为隐式流).只要您需要从Web服务器调用Graph API,就会使用服务器端流程.当您需要从客户端调用Graph API时,使用客户端流,例如在Web浏览器中运行的JavaScript或从本机移动或桌面应用程序.
这些流程访问令牌之间有什么区别?似乎它们的长度不同.
我们可以在客户端上使用服务器端流程令牌吗?否则,我们可以在服务器上使用客户端流令牌吗?