【问题标题】:Facebook oauth authorize URL and parameter optionsFacebook oauth 授权 URL 和参数选项
【发布时间】:2024-04-30 00:25:02
【问题描述】:

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

Login Dialog OAuth 2

参数为:

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

是否有关于不同类型的 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

注意网址的区别:

/dialog/oauth?

/oauth/authorize?

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】: