2011-10-23 36 views
10

Tôi muốn sử dụng xác thực xã hội để cung cấp đăng ký/xác thực qua các trang web mạng xã hội. Tôi đã cố gắng để hiểu làm thế nào để sử dụng social-auth, nhưng tôi đã không thể vượt ra ngoài cài đặt phụ thuộc và cấu hình phụ trợ.Cách tích hợp xác thực xã hội trong dự án

Tôi về cơ bản là mới đối với Django và tôi đã cố gắng hết sức để hiểu trước khi đăng trên diễn đàn. Có lẽ bởi vì tôi không quen thuộc với nó, đó là lý do tại sao tôi đã không thành công. Ai có thể xin vui lòng chỉ cho tôi một hướng dẫn về cách sử dụng xã hội-auth. Điều này cũng sẽ giúp tôi tích hợp các ứng dụng khác.

Cập nhật:

Mặc dù câu trả lời đưa ra dưới đây giải quyết vấn đề của tôi, tôi chỉ muốn chia sẻ rằng tôi đã kết thúc bằng django-allauth thay vì xã hội-auth. Và phiên bản mới nhất của django-allauth dường như là ứng dụng xác thực Django tốt nhất.

Trả lời

18

Bằng cách nào đó không rõ ràng từ tài liệu.

Bạn cần tạo ứng dụng trong Twitter/Facebook/bất kỳ thứ gì bạn muốn sử dụng.

Họ sẽ cung cấp cho bạn key api và bí mật api.

Thực hiện theo các bước cơ bản mà tham khảo socialauth tài liệu:

  1. pip cài đặt
  2. thêm socialauth vào các ứng dụng được cài đặt
  3. bản sao AUTHENTICATION_BACKENDS
  4. chủ chốt điền api và api bí mật
  5. add mẫu url xác thực xã hội
  6. định cấu hình xác thực và liên kết tên URL hoàn chỉnh (SOCIAL_AUTH_COMPLETE_URL _name)
  7. xử lý bối cảnh
  8. syncdb

Bây giờ, những gì các tài liệu hướng dẫn không cho bạn biết, là để đặt liên kết trong mẫu đăng nhập của bạn:

Login with <a href="{% url socialauth_begin 'twitter' %}">Twitter</a> 

nên làm việc.

+0

Tôi đã làm tất cả những điều mà bạn đã chỉ ra. Bây giờ khi tôi tạo trang đăng nhập và thêm dòng bạn đã yêu cầu tôi nhận được lỗi sau Đảo ngược 'hoàn thành' với các đối số '(u'twitter',) 'và đối số từ khóa' {} 'không được tìm thấy Có thể bạn cho tôi biết những gì tôi đã làm sai? – Sachin

+1

Ồ, tôi thực sự xin lỗi, tôi đã quên một bước: thêm SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete' SOCIAL_AUTH_ASSOCIATE_URL_NAME = 'socialauth_associate_complete' vào mã của bạn –

+0

Thực tế như đã được đưa ra trong đặc điểm kỹ thuật của chúng tôi Tôi đã sử dụng SOCIAL_AUTH_COMPLETE_URL_NAME = 'complete' và điều này đã gây ra vấn đề.Bây giờ có điều là trang của tôi dường như quá trình khi tôi, nói, sử dụng/login/twitter nhưng sau đó nó chuyển hướng đến trang đăng nhập lỗi, bạn có thể cho tôi biết tại sao không? Có phải vì tôi đang sử dụng máy chủ lưu trữ cục bộ không? Hãy giúp đỡ – Sachin

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