Tôi có ứng dụng Rails 3.1 sử dụng Devise for Authentication với mô hình User đơn giản với email, mật khẩu, v.v. Tôi cần có khả năng xác thực từ ứng dụng iphone. Làm cách nào để hiển thị chức năng này? Câu trả lời rộng là tốt vì tôi không chắc chắn các tùy chọn của tôi là gì.Hiển thị Rails/Devise Authentication cho ứng dụng iOS
Trả lời
Cách nhanh nhất là chỉ cần bật http_authenticatable
và chuyển tên người dùng và mật khẩu thông qua Xác thực cơ bản HTTP. Trong khi đó là cách dễ nhất, điều đó có nghĩa là bạn phải lưu trữ mật khẩu người dùng trong văn bản thuần túy và gửi nó cùng với mọi yêu cầu bạn thực hiện.
Tùy chọn tốt hơn là xác thực mã thông báo, bạn có thể chuyển qua thông số hoặc Xác thực cơ bản HTTP (trong trường hợp này bạn có thể đặt mật khẩu thành "X" và mã thông báo cho tên người dùng). Ưu điểm của việc này là bạn chỉ có thể sử dụng tên người dùng/mật khẩu ban đầu để nhận mã thông báo và sau đó sử dụng nó để xác thực thêm. Cách đơn giản nhất để thực hiện xác thực mã thông báo với số lượng mã tối thiểu là kích hoạt xác thực HTTP trong Devise và thiết lập bộ điều khiển mới yêu cầu người dùng đăng nhập và tất cả điều đó là kết quả của reset_authentication_token
. Khi bạn có mã thông báo, bạn sẽ chuyển nó tới bất kỳ yêu cầu xác thực HTTP nào trong tương lai để đăng nhập chúng.
Có cho phép http_authenticatable sau đó thả xuống trường Tên người dùng/Mật khẩu kinh khủng nếu bạn thử và đăng nhập từ trang web? Tôi vẫn cần người dùng đăng nhập qua trang web và thông qua giao diện rõ ràng. –
@Zachary Anker Cảm ơn câu trả lời của bạn. Bạn có thể xác nhận tôi hiểu điều này đúng không ... Một thiết bị sẽ truy cập http://somesite.com/users/sign_in, chuyển tên người dùng và mật khẩu dưới dạng thông số biểu mẫu của yêu cầu POST. Rails sau đó sẽ kiểm tra các chi tiết này và nếu đúng sẽ trả về một mã thông báo. Sau đó, thiết bị sẽ lưu trữ mã thông báo đó và sử dụng nó trong bất kỳ liên lạc nào trong tương lai. Vậy đường ray lấy mã từ đâu? Nó có tạo ra một mã thông báo duy nhất cho mỗi người dùng không. Mã thông báo có hết hạn không? – Undistraction
@Wayfarer Nó không nên. Miễn là nó là một định dạng điều hướng chẳng hạn như HTML, nó không nên bật lên một hộp thoại xác thực HTTP. Nếu bạn không muốn nó hiển thị, bạn cũng có thể tự mình kiểm tra mật khẩu trong bộ điều khiển trả về mã thông báo xác thực. –
- 1. Cách sử dụng Khả năng hiển thị iOS
- 2. Hiển thị Lịch trong Ứng dụng Android
- 3. UIImageView với iOS 7 không hiển thị
- 4. Hiển thị SVG trong ứng dụng PyGame
- 5. api để hiển thị máy tính bản địa trong ứng dụng iOS
- 6. Tại sao ứng dụng iOS của tôi không hiển thị trong hộp thoại "Mở trong" của các ứng dụng khác?
- 7. Hướng dẫn khả năng hiển thị cho iOS
- 8. Ứng dụng Phonegap hiển thị màn hình trống trên iOS 6
- 9. Có thể hiển thị chú giải công cụ trong ứng dụng iOS không?
- 10. iOS - Thanh công cụ không hiển thị
- 11. Thiết bị Retina iOS không hiển thị hình ảnh @ 2X, nó hiển thị hình ảnh 1X
- 12. NSFileProtectionComplete cho các ứng dụng iOS 4.0
- 13. Phát triển ứng dụng iOS cho Cydia
- 14. Ứng dụng cho iOS và MacOS X
- 15. Thông báo cập nhật ứng dụng iOS
- 16. iOS AVFoundation - Hiển thị thời gian hiển thị trên video và xuất
- 17. cho phép người dùng Crop ảnh trong ứng dụng iOS
- 18. Hiển thị hình ảnh chất lượng cao hơn cho các bài đăng trên Facebook cho iOS
- 19. Tắt hiển thị trong hệ điều hành iPhone (iOS)
- 20. Trình giả lập Android không hiển thị ứng dụng - nó chỉ hiển thị skin
- 21. Tạo một SecCertificateRef cho NSURLConnection Authentication Challenge
- 22. iOS Sử dụng hộp thoại Quyền vị trí hiện tại được hiển thị hai lần trong ứng dụng Phonegap
- 23. trống QLPreviewController trong ứng dụng iOS
- 24. Google Map sẽ không hiển thị trong Phonegap iOS App
- 25. Hiển thị nội dung tex trong ứng dụng HTML5
- 26. Cách hiển thị video cục bộ trong ứng dụng PhoneGap?
- 27. Từ kế ios: hiển thị lực hiệu chuẩn xem
- 28. Hiển thị văn bản thuần túy trong ứng dụng Android
- 29. giả lập không hiển thị ứng dụng của tôi
- 30. Cách thêm quyền hiển thị vào ứng dụng android?
Tất cả các bộ điều khiển phát sinh trả lời json và xml, làm cho giao diện REST hoàn toàn khả thi – zsquare
Thành thật mà nói. Tôi hiểu REST và API của tôi hoạt động tốt. Nhưng tôi không thể nắm bắt được khái niệm đăng nhập từ thiết bị iOS. (Tôi đang sử dụng RestKit như một khuôn khổ, nếu điều đó giúp). Ai đó có thể xin vui lòng đi qua các bước cần thiết để có được iOS đưa ra để xác thực với các ứng dụng đường ray, và sau đó liên tục gọi các cuộc gọi REST để có được thông tin? Làm cách nào để bạn lưu trữ phiên? Bạn có thể? Bạn có cần chuyển thông tin đăng nhập của người dùng với mọi cuộc gọi không? Bạn có thể sử dụng một mã thông báo của một số loại? Bạn định dạng cuộc gọi để nhận thông tin như thế nào? Giúp đỡ sẽ là tuyệt vời cho tôi quá !! –
@Wayfarer Chính xác. Tôi nghĩ Dịch vụ Web cần truyền một số mã thông báo cho thiết bị khi nó đã được xác thực thành công mà thiết bị có thể sử dụng để xác định chính nó với bất kỳ liên lạc nào, nhưng tôi không chắc điều này sẽ hoạt động như thế nào trong các điều kiện thực tế. Rõ ràng mô hình Người dùng có thể lưu trữ một số loại mã thông báo duy nhất cho mỗi người dùng được chia sẻ sau khi xác thực, nhưng tôi không chắc chắn về cơ chế phục vụ đó. – Undistraction