我有一个在wordpress网站的iframe内运行的Flask网站。
两个网站都位于同一个域中。也就是说,wordpress网站就像www.example.com,Flask网站就在api.example.com上。
我需要在iframe中显示一些用户特定的内容。那么如何阅读Flask中由wordpress设置的cookie?或检查是否已设定? 基本上,我想知道用户是否登录(会话cookie存在)及其用户名。
最好的情况是,如果我能以某种方式将Flask-Login插件与实际的Wordpress登录集成,但是,我不希望这是可能的。
答案 0 :(得分:0)
创建cookie时,其域名已设置。您需要确保设置域,以便两个站点domain match都是Cookie域。例如,example.com
将允许两个站点查看cookie,或者将它们与请求一起设置为两个服务器。
wordpress登录可以与Flask集成。您需要提取会话ID / cookie内容,然后向wordpress站点发出请求。
烧瓶代码:
request.cookies.get('username') # get single cookie
request.cookies # get all as dict
此请求检查会话是否有效并返回用户凭据。 如果成功 - 意味着用户可以自动登录 - 那么您可以调用cookies
注意:您必须手动同步会话。在api端创建会话时,它将继续存在,直到它过期或您手动调用注销。此外,如果您退出wordpress一侧,烧瓶会话将继续存在
有关cookies
的更多信息