从 iOS 授权流程中完全阻止 Spotify 注册

Posted

技术标签:

【中文标题】从 iOS 授权流程中完全阻止 Spotify 注册【英文标题】:Completely block Spotify sign-up from iOS authorization flow 【发布时间】:2018-10-26 00:20:50 【问题描述】:

我们正在尝试让 ios 应用获准进入 AppStore。我们在应用中利用了部分 Spotify API,因此也在使用 Spotify 网络授权流程。

在 Spotify 提供的登录页面上,它显示“注册”链接以及登录链接。 Apple 不喜欢这样,因为它违反了“指南 3.1.1 - 业务 - 支付 - 应用内购买”,因为我们在我们的内部推广其他应用程序。我们发现添加 nosignupnolinks 请求参数删除了这些链接: https://accounts.spotify.com/en/authorize?client_id=xxxx&redirect_uri=https:%2F%2Fapi.xxxx.com%2Fapi%2Fmobile%2Fspotify%2Fauthenticate%2Fcallback&scope=user-read-currently-playing&response_type=code&nosignup=true&nolinks=true

我们再次被拒绝。我们在返回的响应中出现了一个 App Store 图标,鼓励用户下载 Spotify 应用程序。这违反了“指南 3.2.2 - 业务 - 其他业务模式问题”,模仿了 App Store 的功能!上述请求参数在我所见的情况下没有记录,只能通过嗅探现有应用程序之间的流量来找到。

是否有另一个请求参数来关闭这个 App Store 标志或任何其他方式来隐藏它?

【问题讨论】:

【参考方案1】:

万一以后有人发现... 我们发现 Spotify 修改了不同用户代理的 Web 身份验证。因此,如果您在桌面浏览器中浏览到身份验证屏幕,您将不会看到 App Store 徽标出现。这对我们使用移动设备的上述情况有何帮助?很简单,覆盖 Web 请求中的用户代理标头。完毕! 我们用Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 覆盖,它很有魅力。

【讨论】:

以上是关于从 iOS 授权流程中完全阻止 Spotify 注册的主要内容,如果未能解决你的问题,请参考以下文章

带有 React 的 Spotify 隐式授权流程 - 用户登录

Spotify PKCE 授权流程返回“code_verifier 不正确”

Docker ( React / Flask / Nginx) - Spotify 授权码

如何使用 PKCE for Spotify 实现授权代码

如何在不实际播放歌曲的情况下使用“Spotify iOS”框架和授权应用程序

没有重定向 URI 的 Spotify?