不允许重定向 url localhost 和 127.0.0.1 时如何在 Unity 中从 Sign in with Apple 获取代码

Posted

技术标签:

【中文标题】不允许重定向 url localhost 和 127.0.0.1 时如何在 Unity 中从 Sign in with Apple 获取代码【英文标题】:How to get code from Sign in with Apple in Unity when redirect urls localhost and 127.0.0.1 are not permitted 【发布时间】:2020-03-15 15:48:14 【问题描述】:

我正在尝试在 Unity 编辑器中实现 Sign in with Apple。我正在使用 REST API oauth 流程执行此操作。在我的其他 oauth 实现中,我已经能够将有效的重定向 url 设置为 localhost,因此我可以使用 http 侦听器在应用程序中捕获响应。但是,Apple 不允许此地址,而不是 127.0.0.1 。如何在 Unity 中获取响应代码? Sign in with Apple 太新了,到目前为止我还没有找到任何答案。所有指南均用于在 Web 客户端而非应用中实现登录。

【问题讨论】:

听起来重定向地址必须是 Apple 可访问的地址,所以在网络中路由? 您需要能够在创建服务 ID 时验证您的 redirect_uri,并且 Apple 能够验证您给定的地址,它需要是一个可从 Internet 访问的实时网站。 【参考方案1】:

打开 etc/hosts 文件并添加记录

127.0.0.1 mylocaladdr.test

使用以下重定向 uri 地址代替 localhost:

http://Mylocaladdr.test/appleredirect

添加其他真实域并验证它。添加真正的redirect uri,后面会用到。

【讨论】:

如果您想重定向本地机器上的某个特定端口,也可以尝试 Fiddler2。见***.com/a/21586034/9307598

以上是关于不允许重定向 url localhost 和 127.0.0.1 时如何在 Unity 中从 Sign in with Apple 获取代码的主要内容,如果未能解决你的问题,请参考以下文章

localhost 重定向到 https 并循环 url

Xampp - 将外部 url 重定向到 localhost

你如何允许 WKWebView 接受重定向 url

单击按钮以重定向到父 URL

Azure Active Directory 中的 URL 重定向

为特定的 url 设置从 http 到 https 的 apache 重定向