refactor code

This commit is contained in:
William R. Arellano 2023-10-31 11:43:52 -05:00
parent 7f4030feda
commit 3a4e1a6632

View File

@ -105,18 +105,17 @@ withCallbackAndState
-> Text -> Text
-> m OAuth2 -> m OAuth2
withCallbackAndState name oauth2 csrf = do withCallbackAndState name oauth2 csrf = do
callback <- callback <- maybe uriFromPlugin pure $ oauth2RedirectUri oauth2
case oauth2RedirectUri oauth2 of
Just uri -> pure uri
Nothing -> do
uri <- ($ PluginR name ["callback"]) <$> getParentUrlRender
maybe (throwError $ InvalidCallbackUri uri) pure $ fromText uri
pure pure
oauth2 oauth2
{ oauth2RedirectUri = Just callback { oauth2RedirectUri = Just callback
, oauth2AuthorizeEndpoint = , oauth2AuthorizeEndpoint =
oauth2AuthorizeEndpoint oauth2 `withQuery` [("state", encodeUtf8 csrf)] oauth2AuthorizeEndpoint oauth2 `withQuery` [("state", encodeUtf8 csrf)]
} }
where
uriFromPlugin = do
uri <- ($ PluginR name ["callback"]) <$> getParentUrlRender
maybe (throwError $ InvalidCallbackUri uri) pure $ fromText uri
getParentUrlRender :: MonadHandler m => m (Route (SubHandlerSite m) -> Text) getParentUrlRender :: MonadHandler m => m (Route (SubHandlerSite m) -> Text)
getParentUrlRender = (.) <$> getUrlRender <*> getRouteToParent getParentUrlRender = (.) <$> getUrlRender <*> getRouteToParent