我需要在Facebook登錄問不同的權限:django-social-auth:我怎樣才能實現更多的提供者?
- publish_stream和電子郵件標準用戶
- publish_stream,電子郵件和manage_pages爲 「admin」 的用戶
Here,圖書館的作者告訴我必須定義一個新的後端/提供者。但我該怎麼做?
我不明白我該怎麼做。有人可以向我解釋我要做的一步一步嗎?
我需要在Facebook登錄問不同的權限:django-social-auth:我怎樣才能實現更多的提供者?
Here,圖書館的作者告訴我必須定義一個新的後端/提供者。但我該怎麼做?
我不明白我該怎麼做。有人可以向我解釋我要做的一步一步嗎?
後端這樣應該做的工作:
from social_auth.backends.facebook import FacebookAuth, FacebookBackend
class FacebookBackendForAdmins(FacebookBackend):
name = 'facebook-admins'
class FacebookAuthForAdmins(FacebookAuth):
AUTH_BACKEND = FacebookBackendForAdmins
SCOPE_VAR_NAME = 'FACEBOOK_ADMIN_EXTENDED_PERMISSIONS'
然後定義設置:
FACEBOOK_ADMIN_EXTENDED_PERMISSIONS = ['email', 'publish_stream', 'manage_pages']
而且不要忘了對非管理員用戶設置:
FACEBOOK_EXTENDED_PERMISSIONS = ['email', 'publish_stream']
並將其添加到AUTHENTICATION_BACKENDS
設置(假設您將該代碼添加到yourapp/facebook_backend_for_admins.py
中):
AUTHENTICATION_BACKENDS = (
...
'yourapp.facebook_backend_for_admins.FacebookBackendForAdmins',
...
)
它不起作用!我必須在FacebookAuthForAdmins類之後添加'BACKENDS ='Facebook-page':FacebookAppAuth,如果USE_APP_AUTH else FacebookPagesAuth, } – panizza
你怎麼知道他們是否是管理員,如果他們沒有登錄? – Thomas
如果有任何用戶登錄,這是一個「管理員」用戶。然後我想按照前面所述將他的facebbok賬戶關聯起來 – panizza