python social auth change referrer address

问题描述 投票:0回答:1

我有一个Azure应用程序网关(比如example.com),后面我有一些Azure应用程序服务(example1.com,example2.com等)。

我正在使用python social auth来验证我的django应用程序。问题是当我从example.com点击登录并将该请求转发到example1.com时,登录请求发生在example1.com上。

如果我将OAuth回调地址指定为

example.com/complete/A组read-OAuth2,

example1.com/complete/azuread-oauth2,和

example2.com/complete/A组read-OAuth2,

它不起作用,社会认证给了我错误:

raise AuthStateForbidden(self)
social_core.exceptions.AuthStateForbidden: Wrong state parameter given.

这可能是因为referrer网站是example.com,但实际请求来自example1.com,但我不确定。有没有办法解决它,以便重定向不会发生在example1.com,我可以隐藏example.com.com在example.com后面?

django azure azure-web-app-service python-social-auth django-socialauth
1个回答
1
投票

python-social-auth Django策略使用request.build_absolute_uri(...)方法,该方法依赖于request.get_host(...)以检索URL应指向的当前主机。

当您的设置位于代理(或类似行为)后面时,您需要确保目标服务器知道原始主机源以便设置正确的URL。查看get_host()文档,它列出了为实现这一目标必须设置的不同选项。

© www.soinside.com 2019 - 2024. All rights reserved.