hoauth2-2.15.0: src/Network/OAuth2/Experiment/Flows/AuthorizationRequest.hs
module Network.OAuth2.Experiment.Flows.AuthorizationRequest where
import Data.Map.Strict (Map)
import Data.Map.Strict qualified as Map
import Data.Set (Set)
import Data.Text.Lazy (Text)
import Network.OAuth2.Experiment.Types
-------------------------------------------------------------------------------
-- Authorization Request --
-------------------------------------------------------------------------------
data AuthorizationRequestParam = AuthorizationRequestParam
{ arScope :: Set Scope
, arState :: AuthorizeState
, arClientId :: ClientId
, arRedirectUri :: Maybe RedirectUri
, arResponseType :: ResponseType
-- ^ It could be optional there is only one redirect_uri registered.
-- See: https://www.rfc-editor.org/rfc/rfc6749#section-3.1.2.3
, arExtraParams :: Map Text Text
}
instance ToQueryParam AuthorizationRequestParam where
toQueryParam AuthorizationRequestParam {..} =
Map.unions
[ toQueryParam arResponseType
, toQueryParam arScope
, toQueryParam arClientId
, toQueryParam arState
, toQueryParam arRedirectUri
, arExtraParams
]