2012-02-04 17 views
6

Tôi đang xây dựng trang web được bảo mật bằng mã thông báo SAML cho đăng nhập một lần. Một trong các biểu mẫu có rất nhiều trường nhập, điều này sẽ kích hoạt các cập nhật và xác thực trên cùng, hoặc các trường nhập và nội dung bảng khác.sử dụng lại mã thông báo SAML, phía máy khách cho dịch vụ web JSON - sau khi đăng nhập vào trang web

Xác thực và cập nhật là xử lý phía máy chủ. Bản cập nhật của một giá trị trên biểu mẫu sẽ kích hoạt javascript thông báo cho máy chủ, sử dụng dịch vụ web của WCF JSON. Dịch vụ sau đó trả về các giá trị mới và thông báo xác thực.

Vấn đề là phải bảo mật web và truy cập, sử dụng mã thông báo SAML được cấp cho người dùng bằng cách đăng nhập vào trang web.

[Chỉnh sửa: thực hiện nhiều nghiên cứu hơn] Sau khi xác thực, mã thông báo SAML luôn được chuyển đến máy chủ dưới dạng cookie FedAuth. Việc thêm mã thông báo vào tiêu đề Nhận JSON (hoặc ajax) là không cần thiết. Vấn đề là, tôi dường như không thể để WIF xử lý việc xác minh cookie. Vì vậy, tôi đã xóa xác thực được liên kết từ dịch vụ JSON và sẽ cố gắng đọc cookie, từ HttpContext. Công trình nào, nhưng tôi không thể giải mã được.

Có ai đó với exprerience với điều này? Có ai có kinh nghiệm về điều này không?

Trả lời

1

Mã thông báo không được chuyển dưới dạng cookie FedAuth. Điều đó được tạo ra bởi chính trang web (bởi WIF thực sự). Mã thông báo thường được chuyển thành POST khi xác thực thành công trong IdP.

Nếu các dịch vụ web được đồng tổ chức trong cùng một trang web, thì nó al "chỉ hoạt động", nhờ phép thuật WIF. Các cuộc gọi đến các dịch vụ sẽ bao gồm cookie và WIF sẽ vui vẻ phân tích cú pháp/xác minh nó và cung cấp cho bạn một IPrincipal (một IClaimsPrincipal).

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