2014-12-30 17 views
7

Tôi đang cố gắng thực hiện spring-boot-security-saml-sample ứng dụng hoạt động với Okta. Để thêm Okta như một nhà cung cấp, tôi đã thực hiện những thay đổi sau vào WebSecurityConfig.java:Tôi làm cách nào để định cấu hình SAML bảo mật mùa xuân để làm việc với Okta?

https://gist.github.com/mraible/c8b52972f76e6f5e30d5

tôi tìm thấy những câu dưới đây cung cấp một số hướng dẫn, nhưng tôi không thể khá được những điều để làm việc.

configuring saml-sample (SP) to work with Okta (IdP)

Đây là những gì tôi đang sử dụng cho các giá trị trên Okta:

Application label: Spring Boot SAML App 
Force Authentication: false 
Post Back URL: http://localhost:8080/ 
Name ID Format: EmailAddressRecipient 
Recipient: http://localhost:8080/saml/SSO/alias/defaultAlias 
Audience Restriction: com:vdenotaris:spring:sp 
authnContextClassRef: PasswordProtectedTransport 
Response: Signed 
Assertion: Signed 
Request: Compressed 
Destination: http://localhost:8080/saml/SSO/alias/defaultAlias 
Default Relay State: (none) 
Attribute Statements: email|${user.email},firstName|${user.firstName} 

Dường như nó hoạt động từ các bản ghi:

[2014-12-30 12:18:33.004] boot - 18748 DEBUG [http-nio-8080-exec-8] --- BaseMessageEncoder: Successfully encoded message. 
[2014-12-30 12:18:33.004] boot - 18748 DEBUG [http-nio-8080-exec-8] --- HttpSessionStorage: Storing message a12gf64fh3f35fgh2a8dd1fd0i0dc02 to session C5D010344EF5D022718B12B6D25F1D1E 
[2014-12-30 12:18:33.004] boot - 18748 INFO [http-nio-8080-exec-8] --- SAMLDefaultLogger: AuthNRequest;SUCCESS;0:0:0:0:0:0:0:1;com:vdenotaris:spring:sp;http://www.okta.com/k2gpb06TOMYOKAWUSXJM;;; 

Tuy nhiên, nó chuyển hướng tôi đến của Okta trang web thay vì quay lại trang web của tôi.

+0

Tôi không có kinh nghiệm cá nhân với điều này nhưng tôi biết nhóm nhận dạng Cloud Foundry đã thực hiện nó. Xem mã nguồn tại đây: https://github.com/cloudfoundry/login-server/tree/master/src/main/resources. –

Trả lời

4

Tôi hiểu nó hoạt động! Phím xuất hiện để được đặt Yêu cầu "Không nén". Từ đó, tôi đã xóa "alias/defaultAlias" vì điều này dường như chỉ hoạt động khi bạn đặt bí danh trên ExtendedMetadata. Cài đặt của tôi hoạt động ở phía Okta:

Application label: Spring Boot SAML App 
Force Authentication: false 
Post Back URL: http://localhost:8080/saml/SSO 
Name ID Format: EmailAddressRecipient 
Recipient: http://localhost:8080/saml/SSO 
Audience Restriction: com:vdenotaris:spring:sp 
authnContextClassRef: PasswordProtectedTransport 
Response: Signed 
Assertion: Signed 
Request: Uncompressed 
Destination: http://localhost:8080/saml/SSO 
Default Relay State: (none) 
Attribute Statements: email|${user.email},firstName|${user.firstName} 
+2

Đối với bất kỳ ai tích hợp Okta với Spring SAML, hướng dẫn hiện có chứa bước cơ bản theo hướng dẫn tích hợp bước cho Okta, xem http://docs.spring.io/autorepo/docs/spring-security-saml/1.0.x-SNAPSHOT/reference/html/chapter-idp-guide.html # d4e1782 –

+0

@ VladimírSchäfer Bạn có thể vui lòng cập nhật cấu hình java trong liên kết ở trên mà bạn đã cung cấp hay không. – Max

+0

Đây là hướng dẫn tôi cập nhật tháng trước (tháng 10 năm 2017): https://developer.okta.com/blog/2017/03/16/spring-boot-saml –

0

Matt,

Thử đặt "URL đăng lại" thành "localhost: 8080/saml/SSO/alias/defaultAlias".

Từ giao diện cấu hình của bạn "localhost: 8080/saml/SSO/alias/defaultAlias" là điểm cuối SAML trên "localhost" là nơi chúng tôi đăng Phản hồi SAML.

Ngay bây giờ với nó là "localhost: 8080 /" - trang web demo của bạn có thể chỉ chuyển hướng bạn trở lại Okta thay vì phân tích cú pháp phản hồi SAML.

Bạn chưa đề cập đến những gì bạn đã làm ở phía Okta để kiểm tra điều này. Dưới đây là hướng dẫn về cách thực hiện - https://support.okta.com/entries/27560008-Using-the-App-Integration-Wizard - sử dụng Trình hướng dẫn ứng dụng của chúng tôi, tạo ra các điểm cuối SAML IDP thích hợp ở phía bên phải. URL đăng nhập SAML ở phía Okta là cần thiết bởi trang demo của bạn để nó biết nơi chuyển hướng các yêu cầu SAML đến.

Để biết thêm về SAML - bạn có thể kiểm tra hướng dẫn SAML của chúng tôi trên trang web của nhà phát triển của chúng tôi - http://developer.okta.com/docs/getting_started/saml_guidance.html

Hãy cho tôi biết làm thế nào nó đi. Chúc mừng

Stephen

+0

Tôi đã thử điều đó, vẫn không hoạt động. Tôi đã sử dụng Ứng dụng Mẫu SAML 2.0 để tạo ứng dụng ở phía Okta. Tôi đã có thể nhận được một ứng dụng Node và Sinatra hoạt động dễ dàng. Ít mã hơn. –

+0

Tôi đã thử thay đổi Yêu cầu thành "Không nén" ở phía bên Okta và có thêm một chút nữa. Bây giờ nó chuyển hướng trở lại ứng dụng của tôi, nhưng tôi thấy lỗi sau trong nhật ký của mình: https://gist.github.com/mraible/02ad43d4deb7823ce449 –

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