diff --git a/.env.example b/.env.example index 325618d..6fd2ec2 100644 --- a/.env.example +++ b/.env.example @@ -5,6 +5,11 @@ # you plan to try. # ### + +AUTH0_HOST=x +AUTH0_CLIENT_ID=x +AUTH0_CLIENT_SECRET=x + AZURE_AD_CLIENT_ID=x AZURE_AD_CLIENT_SECRET=x diff --git a/.gitignore b/.gitignore index 436ca57..bf8a73b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .stack-work +TAGS # OAuth keys configuration for the example .env* diff --git a/example/Main.hs b/example/Main.hs index 91a8cb7..7e1f8b1 100644 --- a/example/Main.hs +++ b/example/Main.hs @@ -26,6 +26,7 @@ import Data.Aeson.Encode.Pretty import Data.ByteString.Lazy (fromStrict, toStrict) import qualified Data.Map as M import Data.Maybe (fromJust) +import Data.String ( IsString(fromString) ) import Data.Text (Text) import qualified Data.Text as T import Data.Text.Encoding (decodeUtf8) @@ -35,6 +36,7 @@ import Network.Wai.Handler.Warp (runEnv) import System.Environment (getEnv) import Yesod import Yesod.Auth +import Yesod.Auth.OAuth2.Auth0 import Yesod.Auth.OAuth2.AzureAD import Yesod.Auth.OAuth2.BattleNet import Yesod.Auth.OAuth2.Bitbucket @@ -129,6 +131,8 @@ mkFoundation :: IO App mkFoundation = do loadEnv + auth0Host <- getEnv "AUTH0_HOST" + appHttpManager <- newManager tlsManagerSettings appAuthPlugins <- sequence -- When Providers are added, add them here and update .env.example. @@ -137,6 +141,7 @@ mkFoundation = do -- FIXME: oauth2BattleNet is quite annoying! -- [ loadPlugin oauth2AzureAD "AZURE_AD" + , loadPlugin (oauth2Auth0Host $ fromString auth0Host) "AUTH0" , loadPlugin (oauth2BattleNet [whamlet|TODO|] "en") "BATTLE_NET" , loadPlugin oauth2Bitbucket "BITBUCKET" , loadPlugin oauth2ClassLink "CLASSLINK"