wire-api-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Wire.API.User.IdentityProvider

Synopsis

Documentation

type IdP = IdPConfig WireIdP Source #

The identity provider type used in Spar.

newtype IdPHandle Source #

Constructors

IdPHandle 

Fields

Instances

Instances details
Arbitrary IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

FromJSON IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToJSON IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Generic IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Associated Types

type Rep IdPHandle :: Type -> Type #

Show IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Eq IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Ord IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToSchema IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep IdPHandle Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep IdPHandle = D1 ('MetaData "IdPHandle" "Wire.API.User.IdentityProvider" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'True) (C1 ('MetaCons "IdPHandle" 'PrefixI 'True) (S1 ('MetaSel ('Just "unIdPHandle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data WireIdP Source #

Constructors

WireIdP 

Fields

  • _team :: TeamId
     
  • _apiVersion :: Maybe WireIdPAPIVersion

    list of issuer names that this idp has replaced, most recent first. this is used for finding users that are still stored under the old issuer, see findUserWithOldIssuer, moveUserToNewIssuer.

  • _oldIssuers :: [Issuer]
     
  • _replacedBy :: Maybe IdPId

    the issuer that has replaced this one. this is set iff a new issuer is created with the "replaces" query parameter, and it is used to decide whether users not existing on this IdP can be auto-provisioned (if isJust, they can't).

  • _handle :: IdPHandle
     

Instances

Instances details
FromJSON WireIdP Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToJSON WireIdP Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Generic WireIdP Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Associated Types

type Rep WireIdP :: Type -> Type #

Methods

from :: WireIdP -> Rep WireIdP x #

to :: Rep WireIdP x -> WireIdP #

Show WireIdP Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Eq WireIdP Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Methods

(==) :: WireIdP -> WireIdP -> Bool #

(/=) :: WireIdP -> WireIdP -> Bool #

ToSchema WireIdP Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep WireIdP Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep WireIdP = D1 ('MetaData "WireIdP" "Wire.API.User.IdentityProvider" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "WireIdP" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_team") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TeamId) :*: S1 ('MetaSel ('Just "_apiVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe WireIdPAPIVersion))) :*: (S1 ('MetaSel ('Just "_oldIssuers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Issuer]) :*: (S1 ('MetaSel ('Just "_replacedBy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe IdPId)) :*: S1 ('MetaSel ('Just "_handle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IdPHandle)))))

data WireIdPAPIVersion Source #

Constructors

WireIdPAPIV1

initial API

WireIdPAPIV2

support for different SP entityIDs per team

Instances

Instances details
Arbitrary WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

FromJSON WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToJSON WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Bounded WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Enum WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Generic WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Associated Types

type Rep WireIdPAPIVersion :: Type -> Type #

Show WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

FromByteString WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Methods

parser :: Parser WireIdPAPIVersion Source #

ToByteString WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Cql WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Eq WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

FromHttpApiData WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToHttpApiData WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToParamSchema WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToSchema WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep WireIdPAPIVersion Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep WireIdPAPIVersion = D1 ('MetaData "WireIdPAPIVersion" "Wire.API.User.IdentityProvider" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "WireIdPAPIV1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WireIdPAPIV2" 'PrefixI 'False) (U1 :: Type -> Type))

defWireIdPAPIVersion :: WireIdPAPIVersion Source #

(Internal issue for making v2 the default: https://wearezeta.atlassian.net/browse/SQSERVICES-781. BEWARE: We probably shouldn't ever do this, but remove V1 entirely instead. which requires migrating away from the old table on all on-prem installations. which takes time.)

newtype IdPList Source #

A list of IdPs, returned by some endpoints. Wrapped into an object to allow extensibility later on.

Constructors

IdPList 

Fields

Instances

Instances details
FromJSON IdPList Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToJSON IdPList Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Generic IdPList Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Associated Types

type Rep IdPList :: Type -> Type #

Methods

from :: IdPList -> Rep IdPList x #

to :: Rep IdPList x -> IdPList #

Show IdPList Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Eq IdPList Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Methods

(==) :: IdPList -> IdPList -> Bool #

(/=) :: IdPList -> IdPList -> Bool #

ToSchema IdPList Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep IdPList Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep IdPList = D1 ('MetaData "IdPList" "Wire.API.User.IdentityProvider" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'True) (C1 ('MetaCons "IdPList" 'PrefixI 'True) (S1 ('MetaSel ('Just "providers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IdP])))

data IdPMetadataInfo Source #

JSON-encoded information about metadata: {"value": xml}. (Here we could also implement {"uri": url, "cert": pinned_pubkey}. check both the certificate we get from the server against the pinned one and the metadata url in the metadata against the one we fetched the xml from, but it's unclear what the benefit would be.)

Instances

Instances details
FromJSON IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToJSON IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Generic IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Associated Types

type Rep IdPMetadataInfo :: Type -> Type #

Show IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

Eq IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

ToSchema IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

MimeUnrender RawXML IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep IdPMetadataInfo Source # 
Instance details

Defined in Wire.API.User.IdentityProvider

type Rep IdPMetadataInfo = D1 ('MetaData "IdPMetadataInfo" "Wire.API.User.IdentityProvider" "wire-api-0.1.0-EbZS9CKNOfZ8BBy5DRJfXi" 'False) (C1 ('MetaCons "IdPMetadataValue" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IdPMetadata)))

data RawXML Source #

We want to store the raw xml text from the registration request in the database for trouble shooting, but SAML.XML only gives us access to the xml tree, not the raw text. RawXML helps with that.

newtype RawIdPMetadata Source #

Constructors

RawIdPMetadata Text