Facebook oauth授权URL和参数选项

Ala*_*lls 9 facebook oauth facebook-graph-api facebook-oauth

Facebook提供了一些有关oauth登录参数的文档.

登录对话框OAuth 2

参数是:

  • client_id =您的应用ID
  • redirect_uri =您的应用网站网址
  • display = page,popup,iframe,async,touch.如何显示登录.
  • scope =权限名称.您的应用要求用户授予您的应用的权限.
  • state =回复到您的应用的响应中包含的字符串.
  • response_type =代码或令牌或两者.根据授权流程以不同方式使用.

是否有关于不同类型的oauth功能及其附带参数的更多信息?

我想了解如何构建URL的信息oauth.我知道几种配置.例如:

https://www.facebook.com/dialog/oauth?
   client_id=YourAppID
   &redirect_uri=The URL that you designated in your App Settings for your App
   &response_type=token //Whether you want a `code` returned, or a `token` returned, or both
   &scope=publish_stream // scope prompts the user for the type of permissions being asked for
Run Code Online (Sandbox Code Playgroud)

我看到一个讨论显示:

https://graph.facebook.com/oauth/authorize?
   client_id=123456789
   &redirect_uri=http://example.com/
   &scope=publish_stream,share_item,offline_access,manage_pages
Run Code Online (Sandbox Code Playgroud)

请注意URL的差异:

/dialog/oauth?
Run Code Online (Sandbox Code Playgroud)

要么

/oauth/authorize?
Run Code Online (Sandbox Code Playgroud)

怎么authorize办?是否授予权限而不是为权限请求权限?这方面的文件在哪里?

Abh*_*nay 5

https://graph.facebook.com/oauth/authorize也是登录人员——就像验证人员身份并获取人员的许可是否可以通过应用程序访问所请求的权限。

oauth/authorize 是图 api 调用。我认为主要的区别可能是当你想手动构建登录流程时,你应该使用 /oauth/authorize.. 否则,如果你使用 facbook 提供的 javascript/Apps api,它会使用 /dialog/oauth。应用程序通常需要确认登录对话框的响应是由启动它的同一个人做出的。如果您使用 Facebook 的 JavaScript SDK,它会自动执行这些检查,因此不需要执行任何操作(假设您仅从浏览器进行调用)。此外,我们可以通过应用 appsecret_proof 来确保图形 api 调用的安全。