SAML là khủng khiếp, mỗi khi tôi đọc câu trả lời họ là gần như chính xác, đây là thuật toán chính xác cất:
- SHA1 phiên bản kinh điển của Assertion.
- Tạo một mảnh với chữ ký SHA1
- Ký tên vào mảnh SignedInfo XML, một lần nữa các hình thức kinh điển
- Lấy SignedInfo, chữ ký và các thông tin quan trọng và tạo ra một mảnh Chữ ký XML
- Chèn SignatureXML này SignedInfo XML vào assertion (nên đi ngay trước khi saml: môn)
- Không tak sự khẳng định (có chữ ký kèm theo) và đưa vào ứng
- SHA1 phản ứng này
- Tạo một SignedI đoạn XML nfo với chữ ký SHA1
- Ký tên vào mảnh SignedInfo XML, một lần nữa các hình thức kinh điển
- Lấy SignedInfo, chữ ký và các thông tin quan trọng và tạo ra một mảnh Chữ ký XML
- Chèn SignatureXML này vào đáp ứng
- Thêm thông tin phiên bản XML vào phản hồi.
Thats it. SAML hoàn toàn khủng khiếp. Có rất nhiều sự tinh tế nhỏ làm cho việc thực hiện SAML trở thành cơn ác mộng (như tính toán hình thức kinh điển của một tập hợp con của XML (xác nhận), cũng không phải là phiên bản XML của các tài liệu XML không được bao gồm.