我正在实现一个可嵌入不同网站的插件(la Meebo,Wibiya),我想使用Facebook Connect.该插件应该可以嵌入到具有不同域名的站点中.问题是,Facebook connect允许您注册的每个应用程序只有一个域.
问题是,如何为单个Facebook应用程序提供多个域,假设:
当用户在一个站点上"允许"该应用程序时,他们也不必在其他站点上"允许"该应用程序.
优选地,在初始登录之后,用户将不会在他们登录的每个站点上看到弹出窗口(即 - 我不想打开到我的域的链接并从那里执行登录过程).
无论如何这样做?
如果没有,我唯一的选择是管理来自单个域的所有登录并将cookie传递回原始域吗?
如果我在域名之间传递cookie,我怎么能确定Facebook将来不会阻止这种行为?
我很感激任何建议,但如果可能的话,我更喜欢官方解决方案而不是黑客攻击.
我有一个Django Rest Framework应用程序,其中包含以下内容(简化)models.py:
class Photo(models.Model):
...
class Album(models.Model):
...
photos = models.ManyToManyField(Photo, through='PhotoInAlbum', related_name='albums')
class PhotoInAlbum(models.Model):
photo = models.ForeignKey(Photo)
album = models.ForeignKey(Album)
order = models.IntegerField()
class Meta:
ordering = ['album', 'order']
Run Code Online (Sandbox Code Playgroud)
在我看来serializers.py,我有以下几点:
class AlbumSerializer(serializers.ModelSerializer):
...
photos = serializers.PrimaryKeyRelatedField('photos', many=True)
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何AlbumSerializer归还现场订购的照片order?
我有一个带有我网站静态内容的S3存储桶,我有一个EC2实例,可以接收到网站的所有流量.
我希望每次向EC2发出请求都会从我的S3返回一个特定文件,但我希望保持URL与用户插入的URL相同.
示例:假设我的文件位于/path/index.html如果用户向www.mydomain.com发出请求,我想提供该文件,如果用户向www.mydomain.com/提出请求some/random/path /我仍然想要提供相同的文件.最后一个要求是位置保持不变.也就是说,即使提供了相同的文件,用户仍会在浏览器中看到www.mydoamin.com和www.mydoamin.com/some/random/path/.
这是我到目前为止的nginx配置文件,它似乎不起作用:
server {
listen 80;
ssl off;
location / {
proxy_http_version 1.1;
proxy_set_header Host 'some-host.s3.amazonaws.com';
proxy_set_header Authorization '';
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header Set-Cookie;
proxy_ignore_headers "Set-Cookie";
proxy_buffering off;
proxy_intercept_errors on;
resolver 8.8.4.4 8.8.8.8 valid=300s;
resolver_timeout 10s;
proxy_pass http://some-host.s3.amazonaws.com/front-end/index.html;
}
}
Run Code Online (Sandbox Code Playgroud)
有关如何使这项工作的任何想法?
谢谢!