Instagram API:范围是否适用于OAuth2隐式身份验证流程?

 来日方长吗_Xcc 发布于 2023-02-10 14:43

我正在通过移动应用程序向Instagram API提出请求.目前,我只是将用户指向Instagram auth url并将响应类型指定为"access_token".指定此response_type称为隐式身份验证.

显式身份验证:response_type = code隐式身份验证:response_type = access_token

我正试图绕过需要站起来的Web服务来促进显式身份验证.这是必要的,因为在显式身份验证流程中,Instagram API需要调用重定向URL并传入"代码"参数.然后,我的服务器端代码将使用该代码向Instagram发出访问令牌的最终请求.

移动应用程序使用隐式流程的效率要高得多,因为不需要额外的私有维护的身份验证服务来处理它.

Instagram支持以下范围:

basic - 读取与用户相关的任何和所有数据(例如,跟随/跟随列表,照片等)(默认授予)

注释 - 代表用户创建或删除注释

关系 - 代表用户关注和取消关注用户

喜欢 - 喜欢和不喜欢代表用户的项目

当我创建除"basic"之外的任何其他类型的范围规范时,当用户在auth URL提供凭据时,我得到以下响应:

{"code": 400, "error_type": "OAuthException", "error_message": "Invalid scope field(s): basic+likes"}

"基本"以外的任何范围组合都会给出相同的响应.

所以,我的问题是:

是否需要显式身份验证才能指定超出"基本"的范围?

我是否需要指定response_type =代码才能使扩展范围起作用?

这是Instagram限制,还是OAuth 2.0的限制?

提前致谢.

4 个回答
  • 因此,在尝试获取多个范围(基本,喜欢,评论)的权限时,我遇到了类似的+编码问题.我发现的解决方案是在各个范围之间使用空格:

    在config/initializers/omniauth.rb文件中:

    Rails.application.config.middleware.use OmniAuth::Builder do
        provider :instagram, 'TOKEN', 'SECRETKEY' , {:scope => "basic likes comments"}
    end
    

    2023-02-10 14:45 回答
  • 不幸的是,从2015年4月14日开始,新客户无法访问任何范围,但基本.官方消息可以在客户端配置页面找到:

    从2015年4月14日开始,新客户需要请求访问权限才能发布喜欢,关注和评论.有关更多信息,请阅读http://developers.instagram.com上的开发人员博客.

    该消息引用以下博客条目:http://developers.instagram.com/post/116410697261/publishing-guidelines-and-signed-requests

    Instagram要求发送个人请求以启用应用程序的范围(客户端ID),但您的应用程序必须满足博客条目中描述的某些条件.

    2023-02-10 14:45 回答
  • 我只是尝试使用我的client_id和scope = basic + likes的隐式oauth流程并且它有效.用您的client_id和redirect_uri替换下面的url,然后尝试.

    https://instagram.com/oauth/authorize/?client_id=CLIENT_ID&redirect_uri=REDIRECT-URI&response_type=token&scope=basic+likes
    

    可能是Instagram不允许新客户账户以外的基本范围......

    2023-02-10 14:45 回答
  • 这里的答案是YES,隐式auth流可以请求范围就好了.我的问题与我正在使用的OAuth组件有关.该组件默默地对范围参数的值进行URL编码,该值被Instagram认证终端拒绝.我更新了组件(Xamarin.Auth)以容纳非编码范围参数并发出拉取请求.

    感谢@krisak提供了我可以测试的工作URL.

    2023-02-10 14:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有