Tôi có một ứng dụng bằng cách sử dụng phần mềm trung gian OWIN cho OpenIdConnect. Tệp startup.cs sử dụng việc triển khai tiêu chuẩn app.UseOpenIdConnectAuthentication. Cookie được đặt thành trình duyệt nhưng lỗi xảy ra với:OWIN OpenIdConnect Middleware IDX10311 nonce không thể được xác nhận
IDX10311: RequireNonce là 'true' (mặc định) nhưng validationContext.Nonce is null. Một nonce không thể được xác nhận. Nếu bạn không cần phải kiểm tra nonce, hãy đặt OpenIdConnectProtocolValidator.RequireNonce thành 'false'.
Tôi đã tìm thấy rằng khi chạy fiddler như tôi đã làm đối với hầu hết các dự án gỡ lỗi, hành vi này sẽ xảy ra. Lỗi được trả về, nhưng nếu tôi quay trở lại trang web, mọi thứ đang hoạt động và người dùng của tôi được xác thực. Có ai nhìn thấy hành vi này khi chạy fiddler?
Với cáy:
- SecurityTokenValidated thông báo trong OpenIdConnect được thực hiện hai lần.
- Sau khi vượt qua lỗi thứ hai thông qua lỗi IDX10311 được ném
- Trình duyệt chứa cookie hợp lệ, quay trở lại trang Tôi có thể xem dữ liệu Người dùng.Identity hợp lệ.
Chạy mà không cáy:
- SecurityTokenValidated thực hiện một lần trong OpenIdConnect
- Không có lỗi ném hoặc thu để tải lên controller action cho bài thẩm định chuyển hướng Uri
- Cookie cũng có giá trị và dữ liệu User.Identity chính xác.
Ý tưởng? Tôi có thể đi xung quanh nó mà không chạy fiddler, nhưng khi gỡ lỗi nó sẽ được tốt đẹp để chạy fiddler để kiểm tra giao thông.
Có thể điều này? https://github.com/IdentityServer/IdentityServer3/issues/542 –
Cảm ơn Brock. Tôi đã xem xét chủ đề đó trong quá khứ. Có vẻ như đối với nhiều người, đó là một vấn đề chưa được giải quyết. Tôi sẽ kiểm tra đề xuất của bạn từ thread mặc dù. Tôi hy vọng nó không phải là một lỗi MS Katana mặc dù như Dominick đề nghị như MS đã không cập nhật gói nuget trong một thời gian. – gilm0079
@ gilm0079 bạn có tìm thấy giải pháp không? –