Je travaille sur un site Web, et pour me sauver la peine d'une base de données privée, j'ai décidé d'utiliser l'API Google pour authentifier les utilisateurs. J'ai suivi le guide this. J'ai copié le code et pourtant quand je l'exécute et essaye de me connecter, j'obtiens l'écran de google où je choisis le compte pour ouvrir une session avec. Je choisis mon compte et continue à charger pendant un bon bout de temps (je l'ai laissé pendant une demi-heure sans changement). En outre, l'application commence à manger mon bélier (il utilise tout ce qu'il peut de mes 16Go).L'API Google+ ne répond pas lors de la connexion au
Je ne sais pas où cela s'est mal passé. Peut-être que quelqu'un a déjà rencontré cette chose?
Vive
Edit: Voici le code que j'utilise:
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
module Main where
import Data.Default (def)
import Data.Text (Text)
import Network.HTTP.Client.Conduit (Manager, newManager)
import Yesod
import Yesod.Auth
import Yesod.Auth.BrowserId
import Yesod.Auth.GoogleEmail2
clientId :: Text
clientId = "" --Removed it for public view
clientSecret :: Text
clientSecret = "" --Removed it for public view
data App = App
{ httpManager :: Manager
}
mkYesod "App" [parseRoutes|
/HomeR GET
/auth AuthR Auth getAuth
|]
instance Yesod App where
approot = ApprootStatic "http://localhost:3000"
instance YesodAuth App where
type AuthId App = Text
loginDest _ = HomeR
logoutDest _ = HomeR
authPlugins _ =
[ authGoogleEmail clientId clientSecret
]
authHttpManager = httpManager
maybeAuthId = lookupSession "_ID"
instance RenderMessage App FormMessage where
renderMessage _ _ = defaultFormMessage
getHomeR :: Handler Html
getHomeR = do
maid <- maybeAuthId
defaultLayout
[whamlet|
<p>Your current auth ID: #{show maid}
$maybe _ <- maid
<p>
<a [email protected]{AuthR LogoutR}>Logout
$nothing
<p>
<a [email protected]{AuthR LoginR}>Go to the login page
|]
main :: IO()
main = do
man <- newManager
warp 3000 $ App man
Et voici l'extrait du fichier cabale (je l'utilise pile pour construire l'exécutable):
executable App-exe
hs-source-dirs: app
main-is: Main.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends: base
, yesod
, yesod-auth
, text
, http-conduit
, data-default
, OWTeamQueue
default-language: Haskell2010
Bonjour. Les questions sur stackoverflow sont destinées à être autonomes (elles devraient toujours avoir du sens même si chaque lien de votre question était invalide). Veuillez poster un extrait de code _small_ qui reproduit le problème que vous rencontrez. – Cubic