Tôi phải thừa nhận rằng tôi khá mới với chủ đề này, đặc biệt là mới để erlang. Hiện nay, tôi đang cố gắng để chơi xung quanh với các trình xử lý xác thực khác nhau - mục tiêu là để có một "xác thực ủy nhiệm" làm việc trên facebook, twitter và như vậy.couchdb handler xác thực tùy chỉnh
- Theo tôi hiểu việc triển khai oAuth của couchdb hoàn toàn trái ngược với những gì tôi cần. Bạn có thể sử dụng điều đó để tạo mã thông báo cho người dùng ghế dài nhưng không chấp nhận quyền truy cập twitter/bí mật và bản đồ cho người dùng ghế dài.
- Tôi tìm thấy chính xác những gì tôi cần trong datacouch - xác thực chống lại twitter với nodejs, và sau đó nhận được mật khẩu thô từ một chiếc ghế riêng và sử dụng nó với _session-API để tạo ra một chiếc bánh đi văng.
Bây giờ tôi đang cố gắng tránh lưu trữ mật khẩu thô. Tôi đã nghe nói về việc sử dụng proxy_authentification_handler, nhưng có vẻ như tôi quá thiếu kinh nghiệm hoặc thậm chí quá ngu ngốc để sử dụng nó. Tôi làm (như xa như tôi hiểu) trả lời đúng trong couch_httpd_auth
couch_httpd_auth auth_cache_size 50
authentication_db _users
authentication_redirect /_utils/session.html
require_valid_user false
proxy_use_secret false
secret xxxxxxxxxxxx
timeout 43200
x_auth_roles roles
x_auth_token token
x_auth_username uname
và cũng trong phần httpd
httpd allow_jsonp true
authentication_handlers {couch_httpd_auth, proxy_authentification_handler},{couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}
bind_address 127.0.0.1
default_handler {couch_httpd_db, handle_request}
port 5984
secure_rewrites false
vhost_global_handlers _utils, _uuids, _session, _oauth, _users
Như cũng đề cập đến trong các ý kiến trong docs tôi đặt proxy_use_secret false (đối với các bước đầu tiên) để cho phép xác thực mà không cần mã thông báo truy cập.
Khi tôi bây giờ làm một GET trên http://localhost:5984/_utils/config.html?uname=user1&roles=user điều đó dường như không ảnh hưởng đến bất cứ điều gì ...
Bất kỳ ai từng nhận rằng điều chạy? Tui bỏ lỡ điều gì vậy? Hoặc là có bất kỳ cơ hội để thực hiện một trình xử lý xác thực tùy chỉnh mà không cần mã hóa erlang?
Cảm ơn bạn rất nhiều vì đã giúp đỡ của bạn