当前位置: 首页 > 工具软件 > Yesod > 使用案例 >

yesod / yesod-auth / openid

艾茂学
2023-12-01
getRootR :: Handler RepHtml
getRootR = getAfterLoginR
 
getAfterLoginR :: Handler RepHtml
getAfterLoginR = do
    mauth <- maybeAuthId
    defaultLayout $ addHamlet [hamlet|
<p>Auth: #{show mauth}
$maybe _ <- mauth
    <p>
        <a href=@{AuthR LogoutR}>Logout
$nothing
    <p>
        <a href=@{AuthR LoginR}>Login
|]
 
instance Yesod BID where
    approot _ = "http://localhost:3000"
 
instance YesodAuth BID where
    type AuthId BID = Text
    loginDest _ = AfterLoginR
    logoutDest _ = AuthR LoginR
    getAuthId = return . Just . credsIdent
    authPlugins _ = [authOpenId]
    authHttpManager = httpManager
 
instance RenderMessage BID FormMessage where
    renderMessage _ _ = defaultFormMessage
 
main :: IO ()
main = do
    m <- newManager def
    toWaiApp (BID m) >>= run 3000

 

转载于:https://www.cnblogs.com/kelby/archive/2012/03/19/2405819.html

 类似资料: