我正在为不同的服务实现 Oauth,并且正在使用“OAuth2ConsumerBlueprint”(使用烧瓶舞)。我正在考虑 Flask-OAuth,但我认为我最终会遇到与 Flask-Dance 相同的问题。我打算做的是:
用户继续“.mydomain.com”
例如,用户单击通过 FB 登录
用户访问 social.mydomain.com(以便授权 URL 始终相同)
登录后的用户应该被带到“.mydomain.com”
看起来我找不到办法做到这一点..这应该是可行的。我试图解析出不同的信息,例如:
打印(请求)
打印(request.referrer)
我什至使用了:@oauth_authorized.connect 打印了所有信息,看看我是否可以收集一些额外的信息以重复使用
print(vars(request))
print(vars(blueprint))
print(vars(token))
print(session)
此外,我尝试在 GET 参数中添加一个“foo”变量,以查看是否可以从 social.mydomain.com 再次读取它,但我不能。不知道如何将用户重定向回原来的 .mydomain.com
关于如何在特定子域上完成身份验证(因此我只需要将一个子域列入白名单)然后将用户重定向到他自己的域的任何建议?
这就是我设置一切的方式:
facebook = OAuth2ConsumerBlueprint(
"fb_social", __name__, url_prefix='/fb',
client_id=FB_CLIENT_ID,
client_secret=FB_SECRET,
scope='email',
base_url="https://graph.facebook.com/",
token_url="https://graph.facebook.com/oauth/access_token",
authorization_url="https://www.facebook.com/dialog/oauth",
redirect_to='fb_social.social_facebook',
)
非常感谢