oidc-client-0.2.0.0: src/Web/OIDC/Client/Tokens.hs
{-# LANGUAGE OverloadedStrings #-}
{-|
Module: Web.OIDC.Client.Tokens
Maintainer: krdlab@gmail.com
Stability: experimental
-}
module Web.OIDC.Client.Tokens
(
Tokens(..)
, IdToken(..)
, IdTokenClaims(..)
) where
import Data.Text (Text)
import Jose.Jwt (Jwt, IntDate)
import Prelude hiding (exp)
data Tokens = Tokens
{ accessToken :: Text
, tokenType :: Text
, idToken :: IdToken
, expiresIn :: Maybe Integer
, refreshToken :: Maybe Text
}
deriving (Show, Eq)
data IdToken = IdToken
{ claims :: IdTokenClaims
, jwt :: Jwt
}
deriving (Show, Eq)
data IdTokenClaims = IdTokenClaims
{ iss :: Text
, sub :: Text
, aud :: [Text]
, exp :: IntDate
, iat :: IntDate
-- TODO: optional
}
deriving (Show, Eq)