2012-01-25 31 views
16

gì được ứng dụng xác thực tốt nhất cho Django rằng:ứng dụng xác thực cho Django

  • có trường bắt buộc cấu hình, ví dụ như cho phép sử dụng email như tên người dùng
  • tích hợp với API xác thực khác, chẳng hạn như Facebook, Twitter, Google
  • mật khẩu lưu trình khôi phục là cấu hình, gửi mật khẩu tạm thời so với liên kết phục hồi
  • tốt nhất là có hệ thống thư mời, vì vậy quá trình đăng ký có thể được kiểm soát

Tôi không nghĩ có bất kỳ tính năng nào có tất cả các tính năng này, vì vậy tôi đang tìm kiếm một tính năng bao gồm nhiều nhất có thể. Nhưng đây là những tính năng mà hầu như bất kỳ dịch vụ web thiết kế tốt nào cũng nên có. Vì vậy, tôi không muốn phát minh lại bánh xe.

+2

Bạn đã xem [Pinax] (http://pinaxproject.com/) chưa? [Trang hệ sinh thái] của họ (http://pinaxproject.com/ecosystem/) có ứng dụng giới thiệu/lời mời, ứng dụng tài khoản nội bộ có liên kết đặt lại mật khẩu (dunno cách cấu hình) - điều duy nhất tôi thấy thiếu là xác thực FB/google. – AdamKG

+0

Chưa, nhưng tôi sẽ xem xét. – grigy

Trả lời

31

Không có một gói django mà sẽ bao gồm tất cả mọi thứ, thay vì có rất nhiều các dự án lớn mà giải quyết từng yêu cầu bạn đề cập đến:

  • chung auth: django-auth - đây là một phần của phân phối django nhưng cần được eneabled
  • xác thực xã hội: django-social-auth - tích hợp xác thực xã hội với dòng chảy mặc định django-auth
  • đăng ký và mật khẩu: django-registration - thêm lưu trình đăng ký, trong đó có đăng ký và xác nhận email vv
  • mời hệ thống: django-invitation - cho phép đăng ký để được giới hạn lời mời
  • hồ sơ: django-profiles - cho phép bạn mở rộng tài khoản người dùng với tiểu sử

Bạn cũng có thể xem django-userena là giải pháp lưu trữ mới để quản lý người dùng cho ứng dụng django của bạn. Tôi đã không xem xét nó hoạt động như thế nào hoặc nó toàn diện như thế nào, nhưng có vẻ đầy hứa hẹn.

Cuối cùng, có một cái nhìn tại các gói django cho các ứng dụng xác thực khác:

http://djangopackages.com/grids/g/authentication/

EDIT:

bài này là một chút lỗi thời

  • django-xã hội -auth đã trở thành python-social-auth
  • django-allauth: Có một ứng dụng auth all-in-one tốt khác được gọi là django-allauth. Tôi đã không sử dụng nó rộng rãi nhưng tôi tin rằng nó sẽ chăm sóc auth, xã hội-auth, đăng ký và hồ sơ trong một ứng dụng
  • Mô hình người dùng có thể định cấu hình: Django 1.5 đã giới thiệu một configuratble User models trong mô-đun auth để giờ đây bạn có thể chỉnh sửa trường nào bạn muốn sử dụng cho người dùng của mình (chỉ email, không có tên người dùng, v.v.). Điều này cũng rất hữu ích nếu bạn muốn thêm thông tin hồ sơ giống như để người dùng của bạn mà không cần phải tham gia với bảng khác (như bạn làm với django-profiles hoặc một mối quan hệ OneToOne với một mô hình cấu hình tùy chỉnh)
1

Go cho django allauth. nó bao gồm tất cả các luồng xác thực, mô hình người dùng tùy chỉnh. và hơn 50 nhà cung cấp xác thực xã hội. Chúng tôi đang sử dụng nó từ một thời gian dài và nó đã phát triển rất nhiều trong thời gian qua.

0

Trước tiên, bạn phải cài đặt xã hội-auth-app-django:

pip install social-auth-app-django 

Sau đó thêm nó vào INSTALLED_APPS của bạn (trong cài đặt) sau đó bạn phải tạo khóa API, sử dụng các bước dưới đây để biết các mạng mà bạn muốn kích hoạt:

  • Google
    • Tạo một dự án trên Google Cloud Platform
  • Facebook
    • Đăng nhập vào các nhà phát triển Facebook và tạo phím API
  • Twitter

Sau khi tạo dự án bạn sẽ nhận được ID App và App Bí mật (không chia sẻ nó với bất kỳ một) sau đó thêm các ID này & Bí mật trong cài đặt và cung cấp url hợp lệ chuyển hướng để biết thêm thông tin

Các vấn đề liên quan