diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.4.9
+
+* Add simple authentication helpers [#962](https://github.com/yesodweb/yesod/pull/962)
+
 ## 1.4.8.3
 
 * Use 307 redirect for cleaning paths and non-GET requests [#951](https://github.com/yesodweb/yesod/issues/951)
diff --git a/Yesod/Core/Handler.hs b/Yesod/Core/Handler.hs
--- a/Yesod/Core/Handler.hs
+++ b/Yesod/Core/Handler.hs
@@ -52,6 +52,9 @@
     , lookupCookie
     , lookupFile
     , lookupHeader
+      -- **** Lookup authentication data
+    , lookupBasicAuth
+    , lookupBearerAuth
       -- **** Multi-lookup
     , lookupGetParams
     , lookupPostParams
@@ -166,6 +169,8 @@
 
 import qualified Network.HTTP.Types            as H
 import qualified Network.Wai                   as W
+import           Network.Wai.Middleware.HttpAuth
+    ( extractBasicAuth, extractBearerAuth )
 import Control.Monad.Trans.Class (lift)
 
 import qualified Data.Text                     as T
@@ -971,6 +976,30 @@
 lookupHeaders key = do
     req <- waiRequest
     return $ lookup' key $ W.requestHeaders req
+
+-- | Lookup basic authentication data from __Authorization__ header of
+-- request. Returns user name and password
+--
+-- Since 1.4.9
+lookupBasicAuth :: (MonadHandler m) => m (Maybe (Text, Text))
+lookupBasicAuth = fmap (>>= getBA)
+                  (lookupHeader "Authorization")
+  where
+    getBA bs = (\(x, y) -> ( decodeUtf8With lenientDecode x
+                          , decodeUtf8With lenientDecode y))
+               <$> extractBasicAuth bs
+
+-- | Lookup bearer authentication datafrom __Authorization__ header of
+-- request. Returns bearer token value
+--
+-- Since 1.4.9
+lookupBearerAuth :: (MonadHandler m) => m (Maybe Text)
+lookupBearerAuth = fmap (>>= getBR)
+                   (lookupHeader "Authorization")
+  where
+    getBR bs = decodeUtf8With lenientDecode
+               <$> extractBearerAuth bs
+
 
 -- | Lookup for GET parameters.
 lookupGetParams :: MonadHandler m => Text -> m [Text]
diff --git a/yesod-core.cabal b/yesod-core.cabal
--- a/yesod-core.cabal
+++ b/yesod-core.cabal
@@ -1,5 +1,5 @@
 name:            yesod-core
-version:         1.4.8.3
+version:         1.4.9
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -25,7 +25,7 @@
     build-depends:   base                  >= 4.3      && < 5
                    , time                  >= 1.1.4
                    , wai                   >= 3.0
-                   , wai-extra             >= 3.0
+                   , wai-extra             >= 3.0.5
                    , bytestring            >= 0.9.1.4
                    , text                  >= 0.7
                    , template-haskell
