Tôi đang cố gắng triển khai kịch bản Đăng nhập một lần đơn giản, nơi một số máy chủ tham gia sẽ là các hộp windows (IIS). Có vẻ như SPNEGO là một con đường hợp lý cho việc này.SPNEGO (tạo/xác thực mã thông báo kerberos) cho SSO bằng cách sử dụng Python
Đây là kịch bản:
- dùng đăng nhập vào dịch vụ SSO của tôi sử dụng tên đăng nhập và mật khẩu của mình. Tôi xác thực anh ta bằng cách sử dụng một số cơ chế.
- Vào một thời gian sau đó, người dùng muốn truy cập vào ứng dụng A.
- Yêu cầu của người dùng đối với ứng dụng A bị chặn bởi dịch vụ SSO. Các dịch vụ SSO sử dụng Spnego để đăng nhập người sử dụng trong App A:
- dịch vụ SSO lượt truy cập các trang web App A, nhận được một "WWW-Authenticate: Negotiate" phản ứng
- dịch vụ SSO tạo ra một "ủy quyền: Đàm phán phản hồi xxx "thay mặt cho người dùng, phản hồi ứng dụng A. Người dùng hiện đã đăng nhập vào ứng dụng A.
- Dịch vụ SSO chặn các yêu cầu người dùng tiếp theo đối với ứng dụng A, chèn tiêu đề Cấp phép vào chúng trước khi vượt qua chúng trên ứng dụng A.
- Yêu cầu của người dùng đối với ứng dụng A bị chặn bởi dịch vụ SSO. Các dịch vụ SSO sử dụng Spnego để đăng nhập người sử dụng trong App A:
Điều đó có đúng không?
tôi cần hai điều (ít nhất mà tôi có thể nghĩ đến bây giờ):
- khả năng để tạo ra "Authorization: Negotiate xxx" token trên danh nghĩa của người sử dụng, tốt nhất là sử dụng Python
- sự khả năng xác nhận tiêu đề "Ủy quyền: Thương lượng xxx" bằng Python (cho phần sau của dự án)