Use defaultCsrfParamName instead of hard-coding its value
* Up version bounds so that `defaultCsrfParamName` is available. * I didn't bump the yesod-form version. It seemed unnecessary to do a new release just for this.
This commit is contained in:
parent
a01051eaf6
commit
d39ce44c21
@ -1,3 +1,7 @@
|
|||||||
|
## 1.4.13
|
||||||
|
|
||||||
|
* Add a CSRF token to the login form from `Yesod.Auth.Hardcoded`, making it compatible with the CSRF middleware [#1161](https://github.com/yesodweb/yesod/pull/1161)
|
||||||
|
|
||||||
## 1.4.12
|
## 1.4.12
|
||||||
|
|
||||||
* Deprecated Yesod.Auth.GoogleEmail
|
* Deprecated Yesod.Auth.GoogleEmail
|
||||||
|
|||||||
@ -162,12 +162,11 @@ authHardcoded =
|
|||||||
dispatch _ _ = notFound
|
dispatch _ _ = notFound
|
||||||
loginWidget toMaster = do
|
loginWidget toMaster = do
|
||||||
request <- getRequest
|
request <- getRequest
|
||||||
let tokenKey = ("_token" :: Text) -- This value taken from yesod-form's postHelper. Not ideal that it's hard-coded in two places.
|
|
||||||
[whamlet|
|
[whamlet|
|
||||||
$newline never
|
$newline never
|
||||||
<form method="post" action="@{toMaster loginR}">
|
<form method="post" action="@{toMaster loginR}">
|
||||||
$maybe t <- reqToken request
|
$maybe t <- reqToken request
|
||||||
<input type=hidden name=#{tokenKey} value=#{t}>
|
<input type=hidden name=#{defaultCsrfParamName} value=#{t}>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>_{Msg.UserName}
|
<th>_{Msg.UserName}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: yesod-auth
|
name: yesod-auth
|
||||||
version: 1.4.12
|
version: 1.4.13
|
||||||
license: MIT
|
license: MIT
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Michael Snoyman, Patrick Brisbin
|
author: Michael Snoyman, Patrick Brisbin
|
||||||
@ -23,7 +23,7 @@ library
|
|||||||
build-depends: base >= 4 && < 5
|
build-depends: base >= 4 && < 5
|
||||||
, authenticate >= 1.3
|
, authenticate >= 1.3
|
||||||
, bytestring >= 0.9.1.4
|
, bytestring >= 0.9.1.4
|
||||||
, yesod-core >= 1.4 && < 1.5
|
, yesod-core >= 1.4.14 && < 1.5
|
||||||
, wai >= 1.4
|
, wai >= 1.4
|
||||||
, template-haskell
|
, template-haskell
|
||||||
, base16-bytestring
|
, base16-bytestring
|
||||||
|
|||||||
@ -59,6 +59,7 @@ import Text.Blaze (Markup, toMarkup)
|
|||||||
#define Html Markup
|
#define Html Markup
|
||||||
#define toHtml toMarkup
|
#define toHtml toMarkup
|
||||||
import Yesod.Core
|
import Yesod.Core
|
||||||
|
import Yesod.Core.Handler (defaultCsrfParamName)
|
||||||
import Network.Wai (requestMethod)
|
import Network.Wai (requestMethod)
|
||||||
import Text.Hamlet (shamlet)
|
import Text.Hamlet (shamlet)
|
||||||
import Data.Monoid (mempty)
|
import Data.Monoid (mempty)
|
||||||
@ -213,7 +214,7 @@ postHelper :: (MonadHandler m, RenderMessage (HandlerSite m) FormMessage)
|
|||||||
-> m ((FormResult a, xml), Enctype)
|
-> m ((FormResult a, xml), Enctype)
|
||||||
postHelper form env = do
|
postHelper form env = do
|
||||||
req <- getRequest
|
req <- getRequest
|
||||||
let tokenKey = "_token"
|
let tokenKey = defaultCsrfParamName
|
||||||
let token =
|
let token =
|
||||||
case reqToken req of
|
case reqToken req of
|
||||||
Nothing -> mempty
|
Nothing -> mempty
|
||||||
|
|||||||
@ -20,7 +20,7 @@ flag network-uri
|
|||||||
|
|
||||||
library
|
library
|
||||||
build-depends: base >= 4 && < 5
|
build-depends: base >= 4 && < 5
|
||||||
, yesod-core >= 1.4 && < 1.5
|
, yesod-core >= 1.4.14 && < 1.5
|
||||||
, yesod-persistent >= 1.4 && < 1.5
|
, yesod-persistent >= 1.4 && < 1.5
|
||||||
, time >= 1.1.4
|
, time >= 1.1.4
|
||||||
, shakespeare >= 2.0
|
, shakespeare >= 2.0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user