2016-01-28 23 views
10

Tôi có Nhà cung cấp dịch vụ được thiết lập tại https://biz.dev.originsystems.co.za. Tôi đã thiết lập IdP tại http://stage.originsystems.co.za.SimpleSAMLphp Thông tin trạng thái bị mất

Khi kiểm tra xác thực bằng công cụ tại https://biz.dev.originsystems.co.za/simplesaml/module.php/core/authenticate.php, mọi thứ hoạt động tốt. Nó trở lại trang Dev với các thuộc tính bắt buộc và tất cả đều vui vẻ và vui vẻ.

Tuy nhiên, khi tôi cố gắng thực sự nhấn IdP trong mã trên https://biz.dev.originsystems.co.za, tôi được chuyển hướng đến trang đăng nhập Giai đoạn nhưng sau khi đăng nhập, tôi nhận được lỗi "Thông tin trạng thái bị mất". Tôi nhận được thông tin gỡ lỗi sau:

SimpleSAML_Error_NoState: NOSTATE 

Backtrace: 
2 /webdevroot/Updraft/web/external/System/SSO/simplesaml/lib/SimpleSAML/Auth/State.php:225 (SimpleSAML_Auth_State::loadState) 
1 /webdevroot/Updraft/web/external/System/SSO/simplesaml/modules/saml/www/sp/saml2-acs.php:63 (require) 
0 /webdevroot/Updraft/web/external/System/SSO/simplesaml/www/module.php:134 (N/A) 

Tôi đã thực hiện tất cả các khắc phục sự cố mà trang đã yêu cầu nhưng vẫn xảy ra.

Tôi đã mở các công cụ dev trên trình duyệt và xem thông tin cookie. Các cookie cho biz.dev.originsystems.co.za bao gồm một SimpleAMLAuthToken, vì vậy tôi thấy các cookie đang hoạt động. Mã Tôi đang sử dụng để đạt IdP là:

$as = new SimpleSAML_Auth_Simple("stage-sso-sp"); 
$as->requireAuth(); 
$attributes = $as->getAttributes(); 
print_r($attributes); 

UPDATE:

Dưới đây là một số thông tin thêm ...

tôi muốn xác định xem vấn đề là làm thế nào tôi có thiết lập IdP, vì vậy tôi bắt đầu sử dụng Vòng kết nối SSO cho IdP. Thông tin Nhà nước bị mất sau khi xác thực trên Vòng kết nối SSO. Tôi nghĩ điều đó có nghĩa là vấn đề ở đâu đó với thiết lập Nhà cung cấp dịch vụ của tôi cho SimpleSAML. Đây là những gì đang xảy ra ...

Khi tôi đi đến trang SimpleSAML Kiểm tra xác thực nguồn tin tại https://biz.stage.originsystems.co.za/simplesaml Tôi đã giá trị cookie sau ...

Name          Value 
SimpleSAMLAuthToken      _a53569c0701dd02832532df14cf10cd0b2d9fcd6b6 
biz.stage.originsystems.co.za    10fc356e0bfbf707af5fa5854c378755 
ccof          RGN002 
xbrF          84aadc624fc51c0c9340d45645c08643 

Tất cả mọi thứ ngoại trừ SimpleSAMLAuthToken là từ ứng dụng của chúng tôi và không nên ảnh hưởng đến SimpleSAML. Khi tôi được chuyển hướng đến SSO Circle và được xác thực, tôi quay trở lại trang SimpleSAML của mình và Mã xác thực giờ đây có giá trị là _39679e07cb1911e08b2bff3580a9929faddd07e9b6 và tất cả thông tin liên quan được trả về chính xác. Tệp nhật ký hiển thị hoạt động sau.

Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Received SAML2 Response from 'http://idp.ssocircle.com'. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] No certificate in message when validating against fingerprint. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Found 1 certificates in SAML2_Assertion 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Has 1 candidate keys for validation. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Validation with key #0 succeeded. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Filter config for http://idp.ssocircle.com->https://biz.stage.originsystems.co.za/simplesaml/module.php/saml/sp/metadata.php/default-sp: array ( 0 => sspmod_core_Auth_Process_LanguageAdaptor::__set_state(array( 'langattr' => 'preferredLanguage',  'priority' => 90, )),) 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Deleting state: '_742b094314383407864f56bccc6afd7de3dcb3211e' 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: doLogin("default-sp") 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: Valid session found with 'default-sp'. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: Valid session found with 'default-sp'. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/status] 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/attributes] 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/core/dictionaries/frontpage] 

Nếu tôi chuyển đến https://biz.stage.originsystems.co.za?ccof=RGN002, tôi được chuyển hướng như tôi mong đợi ở Vòng kết nối SSO nơi tôi xác thực. Tại thời điểm này, Mã thông báo xác thực của tôi có giá trị là _39679e07cb1911e08b2bff3580a9929faddd07e9b6. Khi tôi đã được xác thực, tôi được chuyển đến trang lỗi SimpleSAML "Thông tin trạng thái bị mất" và Mã xác thực vẫn là _39679e07cb1911e08b2bff3580a9929faddd07e9b6.

Nhật ký đọc ...

Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Loading state: '_498e7d4d75bb7716e5e8cf905e0da5ef1c40cf1b3f' 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] SimpleSAML_Error_NoState: NOSTATE 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] Backtrace: 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 2 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/lib/SimpleSAML/Auth/State.php:225 (SimpleSAML_Auth_State::loadState) 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 1 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/saml/www/sp/saml2-acs.php:63 (require) 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 0 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/www/module.php:134 (N/A) 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] Error report with id dfbb52b0 generated. 
Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/errors] 
Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/core/dictionaries/no_state] 

Có vẻ với tôi như thể Auth Mã nên _498e7d4d75bb7716e5e8cf905e0da5ef1c40cf1b3f nhưng không phải là vì một lý do. Kể từ khi SimpleSAML không thể tìm thấy Token nó không bao giờ xóa cái cũ và tạo một cái mới. Có lẽ tôi sai về điều đó. Tôi hoàn toàn sẵn sàng để được sửa chữa. Vấn đề của tôi là tôi không biết điều gì đang gây ra điều này. Tôi đã đặt cookie.name trong tệp cấu hình thành "biz.stage.originsystems.co.za" và có vẻ như hoạt động tốt cho bảng điều khiển SimpleSAML nhưng nó không hoạt động khi sử dụng SP từ ứng dụng thực tế. Ai đó có thể chỉ cho tôi đi đúng hướng ở đây không? Tôi bị lạc.

+2

ID/mã thông báo mà bạn đang nhận được bằng cách nào đó đang tạo ra sự cố, ba lý do hàng đầu có thể tạo ra lỗi này là, 1. Thay đổi Tên miền, Ví dụ: bạn đang trên example.com nhảy trên www.example.com gây ra phiên cho lỗi không có trạng thái, 2. Nhảy từ HTTP sang HTTPS hoặc HTTPS sang HTTP, 3. phiên không được lưu đúng cách, Để biết thêm, hãy xem xét [xem tại đây] (https://simplesamlphp.org/docs/development/simplesamlphp-nostate # section_3) –

+0

Multi Thinker: Đó là một phản ứng tuyệt vời. Bạn nên đăng nó như một câu trả lời, vì vậy bạn có thể kiếm được tiền thưởng. Nếu nó không làm việc cho bạn, Andrew, bạn có nhớ gửi siêu dữ liệu cho cấu hình SP và IDP của bạn không? –

+0

Nếu không nhìn vào siêu dữ liệu thật khó để đưa ra một câu trả lời cụ thể, nhưng tôi muốn chỉ ra rằng Firefox có một phần bổ sung có tên là Saml Tracer (https://addons.mozilla.org/en-US/firefox/addon/ saml-tracer /) mà tôi đã sử dụng tất cả thời gian khi gỡ lỗi các vấn đề SSO. Có thể giúp bạn theo dõi những giá trị nào đang được gửi qua lại mà không dựa vào các câu lệnh gỡ lỗi. – mounty

Trả lời

0

bạn sẽ phải xác định hai môi trường hoàn toàn độc lập, để làm việc xung quanh việc trộn lẫn hai môi trường này (có hai nhà cung cấp nhận dạng hoàn toàn khác nhau), khi bạn mô tả nó (rõ ràng là không hoạt động, trừ khi thêm cả hai của chúng vào cấu hình SSO - có thể không phải là kết quả mong muốn); kiểm tra đơn giản tên máy chủ của máy chủ và xác định các biến phù hợp - điều này có thể được thực hiện hoặc "on-the-fly" hoặc có thể bằng hai tệp cấu hình khác nhau (thực tế là khá phổ biến khi đẩy tệp cấu hình vào cuối triển khai). với tôi điều này nghe có vẻ giống như một vấn đề triển khai (thiếu tập tin cấu hình thích hợp cho trang web trực tiếp), hơn là một vấn đề SSO.

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