没有重定向的Instagram应用认证

时间:2016-08-31 14:11:21

标签: instagram instagram-api

我创建了一个Instagram应用程序。用户可以进行身份​​验证,然后列出他们上传的图像。

不幸的是,身份验证过程需要重定向,我希望在没有重定向的情况下执行此操作。

有可能吗?

3 个答案:

答案 0 :(得分:1)

您不一定要重定向(在传统意义上)!

发出初始请求后,例如 std::forward

Instagram确实通过302重定向到https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code中指定的网址进行回复,并且该URI会在redirect_uricode参数后追加到该参数,具体取决于您正在使用的流程(由原始access_token参数指定)

如果您的网络客户端能够在重启之前拦截重定向请求,您可以收集代码'或者' access_token'来自重定向网址的参数,并根据需要继续。

例如:对于iOS,有一个UIWebView委托方法" shouldStartLoadWithRequest"您可以使用它来检查重定向URI并在加载之前取消实际请求。由于重定向URI具有您之后的内容,因此您基本上可以将任何进一步的处理委托给后台线程(或其他任何内容),并随意继续。

答案 1 :(得分:0)

不,它不可能,您必须使用Oauth登录并获取access_token,这只是一次,您可以存储access_token并使用它来进行API调用,如果它失败了无效access_token,那么您已要求用户重新登录并获得更新access_token

答案 2 :(得分:0)

Instagram API使用OAuth 2.0,请记住,所有对API的请求都必须通过SSL(https://)进行。

重定向uri指定用户在选择是否对您的应用程序进行身份验证后重定向的位置。需要此uri来捕获API响应。

您有两种身份验证方式:

1 服务器侧

  1. 将您的用户定向到授权网址。

    用户授权您的应用程序后,Instagram会使用代码参数重定向到您的重定向uri,以获取用户令牌。

  2. 请求用户访问令牌:

    现在,您需要将您在上一步中收到的代码交换为访问令牌。您必须发布此代码以及一些应用识别参数。

    如果成功,此调用将返回OAuth令牌。

  3. 2的客户端

    1. 将您的用户定向到授权网址。

    2. 通过以下网址接收访问令牌:

      一旦用户通过身份验证然后授权您的应用程序,Instagram就会使用url片段中的访问令牌重定向到您的重定向uri。

    3. Instagram信息:https://www.instagram.com/developer/authentication/