6

Tôi đang sử dụng Yesod để xây dựng một chương trình phụ trợ REST hoàn toàn cho ứng dụng dựa trên Angular. Ứng dụng này sẽ được lưu trữ riêng với một CDN và sẽ cần phải kết nối với api Yesod cũng như một số khác. Có cách nào để Yesod chấp nhận mã thông báo Bearer thay vì sử dụng phiên cookie để xác thực không?Xác thực vô hiệu hóa phiên bản One01

Trả lời

12

Chúng tôi làm điều tương tự trong www.fpcomplete.com. Bạn có thể thực hiện việc này bằng cách ghi đè phương thức maybeAuthId trong bảng chữ cái YesodAuth để kiểm tra mã thông báo Vòng đệm. Đối với fpcomplete.com, chúng tôi kiểm tra tiêu đề yêu cầu ủy quyền, trông giống như sau:

req <- waiRequest 
mUserId <- 
    case lookup "authorization" (requestHeaders req) of 
     Nothing -> doNormalAuthentication 
     Just authHeader -> checkAuthHeader 
Các vấn đề liên quan