6

Açısal tabanlı bir uygulama için tamamen REST arka planı oluşturmak için Yesod kullanıyorum. Bu uygulama, bir CDN ile ayrı olarak barındırılacak ve birkaç diğerlerinin yanı sıra Yesod api'ye bağlanmaya ihtiyaç duyacaktır. Yesod'un kimlik doğrulama için bir çerez oturumu kullanmak yerine bir Bearer jetonunu kabul etmesinin bir yolu var mı?Yesod Oturum Açmadan Kimlik Doğrulama

cevap

12

www.fpcomplete.com adresinde benzer bir şey yapıyoruz. Bunu, Bearer belirtecini kontrol etmek için YesodAuth tipinde maybeAuthId yöntemini geçersiz kılarak yapabilirsiniz. Fpcomplete.com için, aşağıdaki gibi görünen bir yetkilendirme isteği üstbilgisi olup olmadığını kontrol ederiz:

req <- waiRequest 
mUserId <- 
    case lookup "authorization" (requestHeaders req) of 
     Nothing -> doNormalAuthentication 
     Just authHeader -> checkAuthHeader