iPhone未通过隐式身份验证从Instagram API接收令牌

时间:2017-08-30 02:11:41

标签: javascript ios instagram

使用Android与Chrome,Windows与Chrome,Macbook与Safari一切正常。问题出在iPhone上。

通常情况下,我会得到如下回复:

http://redirecturl.com/#access_token=ACCESS_TOKEN

使用iPhone我只得到:

http://redirecturl.com/

我需要使用javascript访问#值,因此我使用:

location.hash

我还尝试了以下内容来获取完整地址:

location.href

但没有人能够获得Instagram提供的哈希值。

Instagram没有响应#access_token或者#34;聪明的"在收到回复时,iPhone正在全力以赴。

1 个答案:

答案 0 :(得分:0)

有两种方法可以获得一种:服务器端或客户端。第二个选项(称为隐式身份验证)只能在客户端设置中启用隐式OAuth时使用

  

(管理客户端>编辑客户端>安全>禁用隐式OAuth)。

默认情况下禁用。

在任何一种情况下,您都需要将用户重定向到授权URL以获取访问令牌。 显式模式的URL: - 服务器端API Link

隐式模式的网址: - 客户端API Link

在此之后,您将被重定向到REDIRECT-URI,该URI将传递参数。对于显式模式,这将是带有代码的查询字符串,而对于隐式模式,您将直接获取访问令牌到哈希:

your-redirect-uri?code=CODE
your-redirect-uri#access_token=ACCESS-TOKEN

对于隐式模式,您可以从Javascript中的window.location.hash获取访问令牌。