Yesod: Manejo de datos de session dentro de un proyecto simple

Estoy buscando autenticar a un usuario que usa GitHub como un punto final oauth2 y get algunos datos de la session.

Tengo toda la authentication funcionando, pero quiero poder get más información útil de la session más allá de la identificación del usuario, como el token de la session, por ejemplo, para poder hacer llamadas a la API de GitHub en su nombre.

No sé cómo y qué instancia de YesodAuth se puede manipular y cómo funciona toda la architecture del complemento dentro de Yesod, así que cualquier consejo sería increíble.

Aquí es donde estoy ahora mismo:

Foundation.hs

instance YesodAuth App where type AuthId App = Text getAuthId = return . Just . cnetworkingsIdent loginDest _ = HomeR logoutDest _ = HomeR authPlugins _ = [ -- authBrowserId def, oauth2Github clientId clientSecret ] authHttpManager = appHttpManager -- Session functions here -- ??? maybeAuthId = lookupSession "_ID" 

Home.hs

 getHomeR :: Handler Html getHomeR = do --(formWidget, formEnctype) <- generateFormPost sampleForm --let submission = Nothing :: Maybe FileForm -- handlerName = "getHomeR" :: Text maid <- maybeAuthId -- Getting nothing for all of these sess <- getSession let access_token = lookup "access_token" sess user_name = lookup "login" sess 

Enlace a mi código de proyecto