小编and*_*fsp的帖子

如何在多个OAuth2提供程序上验证客户端?

我的REST API(api.example.com)目前是OAuth2提供商,并且一直是移动应用程序的支持.

最近我们创建了一个新的网站(www.example.com),它将像任何其他客户一样对待.Web可以使用密码grant_type在API上进行身份验证,其中用户键入其凭据.从那里,客户端(浏览器)获取访问令牌,并且可以使用API​​.

问题在于我们想要使用Facebook在网页上验证客户端.

所以基本上,网络最终应该能够通过Facebook登录获得用户访问令牌来访问API.

我环顾四周,看过两条腿和三条腿的OAuth2认证方案,但是:

  • 这对我刚刚描述的场景有何影响?
  • 这样做的正确方法是什么?
  • 我应该考虑哪些安全问题?

authentication restful-authentication oauth oauth-2.0 facebook-login

8
推荐指数
1
解决办法
2376
查看次数

如何使Django管理命令无法打开事务?

我正在写一个管理命令,我想在其中更改默认隔离级别。Django和我的数据库将默认将其设置为“ READ COMITTED”,并且仅对于此特定管理命令,我需要将其设置为“ READ UNCOMMITTED”。

运行时:

./manage.py my_command
Run Code Online (Sandbox Code Playgroud)

我注意到,即使您的命令不需要任何数据库连接,Django默认情况下也会以默认隔离级别打开一个事务:

from django.core.management.base import BaseCommand

class Command(BaseCommand):
    help = "Updates assortment data by refreshing the mviews"

    def handle(self, *args, **options):
        print "fdkgjldfkjgdlkfjgklj"
Run Code Online (Sandbox Code Playgroud)

此行为不适合我的问题,我在问是否有以下方法:

  • 编写管理命令,使Django甚至不接触数据库,使所有事务控制完全手动进行?

  • 编写管理命令,在其中您只能为其定义事务特征?

问候

python database django django-manage.py

5
推荐指数
1
解决办法
1794
查看次数