python - Django 重定向到自定义 URL

标签 python ios django oauth-2.0 custom-url

如何从我的 Django 应用程序将用户重定向到 somescheme://someurl.com?

为了给您提供一些背景信息以防有帮助,我有一个用 Python/Django 编写的可用 oauth2 服务器,我需要允许用户注册具有自定义 URL 方案的 redirect_uris。此自定义 URL 方案用于 handling the redirect within native apps .

我的第一 react 是使用 HttpResponseRedirect,但是这个 URL 有一个自定义方案并且不是 HTTP,所以我猜这不是我想要的。提前感谢您提供的任何建议。

编辑: 我确实尝试过这个,Django 正确地返回了响应重定向而没有抛出错误,但是浏览器没有重定向到这个 URL。我正在使用 Chrome 对此进行测试。

编辑 2: HttpResponseRedirect 在 Safari 中运行良好。

最佳答案

这实际上不应该起作用,因为 Django 默认只允许重定向到 httphttpsftp出于安全原因:

https://www.djangoproject.com/weblog/2012/jul/30/security-releases-issued/

我在使用 OAuth 时遇到了同样的问题并重定向到自定义方案。
重定向到自定义方案时,Django(在 Apache 上)抛出 500(django.core.exceptions.SuspiciousOperation)。解决方案是创建您自己的 HttpResponseRedirect 子类或只做:

location = < your redirect URL >
res = HttpResponse(location, status=302)
res['Location'] = location
return res

关于python - Django 重定向到自定义 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326504/

相关文章:

ajax - Django API 请求

python - 查找文件被删除的 bzr 修订版

Python 每小时计数日志文件

python - PyMongo:如何批量更新 MongoDB 中的大量 JSON 数据

ios7 - 自定义 UItabbar 底部有空隙

python - Divio CMS 存储库的设置

python - 如何旋转数据框

iphone - PurgeIdleCellConnections 导致应用程序卡住然后崩溃

ios - 关于动态链接的行为

python - 限制 django 应用程序模型中的单个记录?