Facebook oauth 授权 URL 和参数选项

标签 facebook facebook-graph-api oauth facebook-oauth

Facebook提供了一些关于oauth登录参数的文档。

Login Dialog OAuth 2

参数是:

  • client_id = 您的应用 ID
  • redirect_uri = 您的应用网站 URL
  • display = 页面、弹出窗口、iframe、异步、触摸。如何显示登录。
  • 范围 = 权限名称。您的应用要求用户授予您的应用的权限。
  • state = 返回给您的应用程序的响应中包含的字符串。
  • response_type = 代码或 token 或两者。根据授权流程以不同的方式使用。

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

我需要有关如何为 oauth 构建 URL 的信息。我知道几个配置。例如:

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

我看到一个讨论表明了这一点:

https://graph.facebook.com/oauth/authorize?
   client_id=123456789
   &redirect_uri=http://example.com/
   &scope=publish_stream,share_item,offline_access,manage_pages

注意 URL 的区别:

/dialog/oauth?

/oauth/authorize?

authorize 做什么?它是否授予权限而不是请求权限?这方面的文档在哪里?

最佳答案

https://graph.facebook.com/oauth/authorize 也是登录人 -- 就像验证一个人并获得该人的许可是否访问应用程序请求的权限。

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

关于Facebook oauth 授权 URL 和参数选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22798181/

相关文章:

facebook - 首次登录Facebook时Cookie必填错误(Atom-Electron应用程序)

ios - 使用 Facebook SSO 作为唯一登录机制对 iOS 客户端的 REST API 进行身份验证

Android:解析未知的 JSON 标签

php - 如何使用 CodeIgniter 3.1.0 将 Facebook 用户基本信息保存到数据库

python - Instagram 和 oAuth

Java:Google+ OAuth header 无效

java - 使用 OAuth2 token 对托管在 Google App Engine 上的 API 进行身份验证?

facebook - 拒绝在框架中显示 facebook.com/xti.php,因为它将 X-Frame-options 设置为 sameorigin

java - 如何从我的 java servlet 访问重定向的 URL?

javascript - 通过 id 获取 Facebook 评论