<?xml version="1.0"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/BbAuth.Services.SecurityApi.V4.SecurityApiRoutes.Models" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/BbAuth.Services.SecurityApi.V4.SecurityApiRoutes.Models" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/BbFX.Core.ServiceLayer.Models" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import namespace="http://schemas.datacontract.org/2004/07/System.Security.Claims" />
  <xs:complexType name="OAuth2TokenRequest40">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="OAuth2TokenRequest40" nillable="true" type="tns:OAuth2TokenRequest40" />
  <xs:complexType name="OAuth2TokenRequest41">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="OAuth2TokenRequest41" nillable="true" type="tns:OAuth2TokenRequest41" />
  <xs:complexType name="GetAllIdentityProvidersInfoRequest">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="GetAllIdentityProvidersInfoRequest" nillable="true" type="tns:GetAllIdentityProvidersInfoRequest" />
  <xs:complexType name="PostOAuth2TokenInfoRequest40">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccessToken" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ClientId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PostOAuth2TokenInfoRequest40" nillable="true" type="tns:PostOAuth2TokenInfoRequest40" />
  <xs:complexType name="OAuth2TokenResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="access_token" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="error" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="error_description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="expires_in" type="xs:long" />
      <xs:element minOccurs="0" name="refresh_token" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="refresh_token_expires_in" type="xs:long">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="token_type" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="warning" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OAuth2TokenResponse" nillable="true" type="tns:OAuth2TokenResponse" />
  <xs:complexType name="IdentityProviderInfoListResponse">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/BbFX.Core.ServiceLayer.Models" base="q1:ResponseBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdentityProviders" nillable="true" type="tns:ArrayOfIdentityProviderInfo" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="IdentityProviderInfoListResponse" nillable="true" type="tns:IdentityProviderInfoListResponse" />
  <xs:complexType name="ArrayOfIdentityProviderInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="IdentityProviderInfo" nillable="true" type="tns:IdentityProviderInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfIdentityProviderInfo" nillable="true" type="tns:ArrayOfIdentityProviderInfo" />
  <xs:complexType name="IdentityProviderInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="AuthenticationRealm" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AuthenticationRealmDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AuthenticationRealmFriendlyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AuthenticationUri" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IdentityProviderId" type="ser:guid" />
      <xs:element minOccurs="0" name="IdentityProviderInfoType" type="tns:IdentityProviderInfoType" />
      <xs:element minOccurs="0" name="InstitutionId" type="ser:guid" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="IdentityProviderInfo" nillable="true" type="tns:IdentityProviderInfo" />
  <xs:simpleType name="IdentityProviderInfoType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unknown" />
      <xs:enumeration value="Ldap" />
      <xs:enumeration value="Api" />
      <xs:enumeration value="Database" />
      <xs:enumeration value="ActiveDirectory" />
      <xs:enumeration value="LdapLegacy" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="IdentityProviderInfoType" nillable="true" type="tns:IdentityProviderInfoType" />
  <xs:complexType name="OAuth2TokenInfoResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Claims" nillable="true" xmlns:q2="http://schemas.datacontract.org/2004/07/System.Security.Claims" type="q2:ArrayOfClaim" />
      <xs:element minOccurs="0" name="ErrorCode" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ErrorDescription" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OAuth2TokenInfoResponse" nillable="true" type="tns:OAuth2TokenInfoResponse" />
</xs:schema>