Làm cách nào để triển khai kịch bản sau bằng ServiceStack?Cách thực hiện xác thực dựa trên mã thông báo bằng ServiceStack
yêu cầu ban đầu đi vào http://localhost/auth
có một tiêu đề Phép định nghĩa như thế này:
Authorization: Basic skdjflsdkfj=
Việc thực hiện IAuthProvider xác nhận chống lại một cửa hàng sử dụng và trả về một mã thông báo phiên như nội dung phản hồi (JSON).
Các khách hàng sử dụng thẻ này một sẽ gửi lại nó chống lại các yêu cầu tiếp theo như http://localhost/json/reply/orders
sử dụng tiêu đề ủy quyền như thế này:
Authorization: BasicToken <TokenFromPreviousSuccessfulLogin>
Sử dụng một AuthenticateAttribute
Tôi muốn gắn cờ Dịch vụ của tôi để sử dụng xác thực.
Tôi nên triển khai xác thực mã thông báo cho các yêu cầu tiếp theo như thế nào? Tôi nên triển khai IAuthProvider
để cung cấp mã thông báo như thế nào? Làm cách nào để đăng ký Nhà cung cấp, v.v ...? Sử dụng RequestFilters hoặc sử dụng AuthFeature
?
Cảm ơn bạn đã trả lời. Câu hỏi được hướng tới các kịch bản được mô tả [ở đây] (http://stackoverflow.com/questions/16690758/alternative-to-cookie-based-session-authentication). –
@mythz Tôi đã cố gắng làm chính xác điều này, nhưng bạn không thể đặt tên nhà cung cấp hoặc lĩnh vực trên lớp cơ sở, bởi vì BasicAuthProvider không cho phép bạn đặt chúng trong hàm tạo. – Junto
@Tuy nhiên bạn có ý nghĩa gì với nó [không cho phép bạn đặt chúng trong hàm tạo] (https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack/Auth/BasicAuthProvider.cs#L14) ? – mythz