2013-08-29 32 views
7

Tôi đang đăng nhập thành công vào trang thử nghiệm Nhà cung cấp dịch vụ của tôi với Shibboleth. Sau đó, tôi truy cập trang /Shibboleth.sso/Session và tôi thấy như sau:Shibboleth - Cách đọc thuộc tính?

Attributes 
affiliation: 1 value(s) 
entitlement: 1 value(s) 
eppn: 1 value(s) 
persistent-id: 1 value(s) 
unscoped-affiliation: 1 value(s) 

Câu hỏi của tôi là ... làm cách nào để đọc các giá trị này? Tôi không thấy chúng trong tiêu đề Yêu cầu HTTP trong Fiddler.

Ứng dụng web của tôi sẽ được triển khai trong ASP.NET MVC 4 (C#).

Trả lời

7

Bạn có thể đọc Shibboleth SAML thuộc tính được gửi bởi IdP sử dụng Request.ServerVariables đối tượng:

string server = Request.ServerVariables["HTTP_FIRSTNAME"]; 

Xem this nếu bạn muốn liệt kê và in tất cả các thuộc tính trong phiên.

Hãy nhớ để cấu hình Shibboleth thuộc tính map.xml để xử lý các thuộc tính tuỳ chỉnh IdP bạn có thể gửi:

<Attribute name="firstname" id="firstname" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> 
    <AttributeDecoder xsi:type="StringAttributeDecoder"/> 
</Attribute> 
5

Bạn cũng có thể thiết lập showAttributeValues để true trong xử lý phiên trong shibboleth2.xml. Lưu ý, điều này không được khuyến nghị trong môi trường sản xuất. Sau đó khởi động lại dịch vụ shibboleth; phần Thuộc tính của trang Phiên sẽ bao gồm các giá trị thực tế.

<!-- Session diagnostic service. --> 
<Handler type="Session" Location="/Session" showAttributeValues="true"/> 
1

vì bạn đã đề cập đến fiddler, tôi sẽ tiếp tục và thêm (năm sau câu hỏi) rằng có một trình duyệt firefox thực sự tuyệt vời được gọi là "SAML tracer". (chỉ cần tìm kiếm "saml tracer" và bạn sẽ tìm thấy trang addz mozilla cho nó.) sau khi cài đặt trong firefox, bạn có thể mở cửa sổ của nó và nó sẽ hiển thị tất cả các yêu cầu và phản hồi http. nếu bất cứ điều gì có saml trong nó, nó sẽ chỉ ra rằng với một thẻ "SAML" bên cạnh url; sau đó bạn có thể nhấp vào url đó, chọn tab "SAML" và đọc tất cả các mẫu được gửi giữa idp hoặc sp và trình duyệt của bạn. nó là một công cụ xử lý sự cố trực tuyến thực sự tuyệt vời, vì vậy bạn không phải gây rối với bất kỳ thứ gì trên sp và/hoặc idp (hoặc thậm chí có quyền truy cập vào chúng).

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