simplesamlphp / simplesamlphp/simplesamlphp-module-oidc

We always throw if `id_token_hint` is missing when `post_logout_redirect_uri` is used

Đang mở
#321 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

prepared
Ngôn ngữ chính
PHP
Star
50
Fork
28
Merge trung bình
1 phút
Pull request đã merge (30 ngày)
2

Mô tả

The spec RP-Initiated Logout https://openid.net/specs/openid-connect-rpinitiated-1_0.html says:

  1. Redirection to RP After Logout
    In some cases, the RP will request that the End-User's User Agent to be redirected back to the RP after a logout has been performed. Post-logout redirection is only done when the logout is RP-initiated, in which case the redirection target is the post_logout_redirect_uri parameter value sent by the initiating RP. An id_token_hint carring an ID Token for the RP is also RECOMMENDED when requesting post-logout redirection; if it is not supplied with post_logout_redirect_uri, the OP MUST NOT perform post-logout redirection unless the OP has other means of confirming the legitimacy of the post-logout redirection target. The OP also MUST NOT perform post-logout redirection if the post_logout_redirect_uri value supplied does not exactly match one of the previously registered post_logout_redirect_uris values. The post-logout redirection is performed after the OP has finished notifying the RPs that logged in with the OP for that End-User that they are to log out the End-User.

Currently we always throw, that is, stop the execution when id_token_hint is missing when post_logout_redirect_uri is used: https://github.com/simplesamlphp/simplesamlphp-module-oidc/blob/4c254afa8a80eb869351bc6dc161479f1f4d54a2/src/Server/RequestRules/Rules/PostLogoutRedirectUriRule.php#L59

Reading the spec, since id_token_hint is RECOMMENDED, we should not stop the execution, but simply not redirect to the post_logout_redirect_uri. We could show our own "you are logged out" page instead.

  • TODO mivanci check how conformance tests handle this situation

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với src/Server/RequestRules/Rules/PostLogoutRedirectUriRule.php tại rule được liên kết và đọc phần của đặc tả RP-Initiated Logout về chuyển hướng sau khi logout. Kiểm tra cách các bài kiểm thử conformance xử lý trường hợp thiếu id_token_hint, như đã nêu trong TODO. Được xem là hoàn thành khi request không bị dừng chỉ vì thiếu hint và việc chuyển hướng sau khi logout bị ngăn lại trừ khi đặc tả cho phép.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
php
Lĩnh vực
authentication
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
55/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.