TokenService.wsdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <wsdl:definitions xmlns:schema="http://sts.idm.telekom.com/schema/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy" xmlns:tns="http://sts.idm.telekom.com/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="sts" targetNamespace="http://sts.idm.telekom.com/wsdl/">
  3. <wsdl:types>
  4. <xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://sts.idm.telekom.com/schema/" version="0.1" xmlns:tns="http://sts.idm.telekom.com/schema/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  5. <xsd:complexType name="FaultResponse">
  6. <xsd:sequence>
  7. <xsd:element maxOccurs="1" minOccurs="1" name="code" nillable="false" type="xsd:string"/>
  8. <xsd:element maxOccurs="1" minOccurs="1" name="msg" nillable="false" type="xsd:string"/>
  9. <xsd:element maxOccurs="1" minOccurs="0" name="lockedUntil" nillable="true" type="xsd:dateTime"/>
  10. </xsd:sequence>
  11. </xsd:complexType>
  12. <xsd:simpleType name="SecurityTokenFormatId">
  13. <xsd:annotation>
  14. <xsd:documentation>
  15. Telekom specific format id, e.g. there will be multiple
  16. different token formats derived from SAML 2.0 Assertions
  17. </xsd:documentation>
  18. </xsd:annotation>
  19. <xsd:restriction base="xsd:string">
  20. <xsd:enumeration value="saml20"/>
  21. </xsd:restriction>
  22. </xsd:simpleType>
  23. <xsd:simpleType name="SecurityTokenEncodingId">
  24. <xsd:annotation>
  25. <xsd:documentation>
  26. Telekom specific encoding id - there can be different
  27. encoding formats for the same token format, e.g. SAML
  28. Assertions can be encoded as plain XML or in
  29. base64-encoding
  30. </xsd:documentation>
  31. </xsd:annotation>
  32. <xsd:restriction base="xsd:string">
  33. <xsd:enumeration value="text/xml"/>
  34. <xsd:enumeration value="text/base64"/>
  35. </xsd:restriction>
  36. </xsd:simpleType>
  37. <xsd:complexType name="SecurityTokenResponse">
  38. <xsd:sequence>
  39. <xsd:element maxOccurs="1" minOccurs="1" name="tokenFormat" type="tns:SecurityTokenFormatId">
  40. <xsd:annotation>
  41. <xsd:documentation>
  42. format of the token carried by the response,
  43. determines syntax and processing rules for token
  44. </xsd:documentation>
  45. </xsd:annotation>
  46. </xsd:element>
  47. <xsd:element maxOccurs="1" minOccurs="0" name="tokenEncoding" type="tns:SecurityTokenEncodingId">
  48. <xsd:annotation>
  49. <xsd:documentation>
  50. encoding of the token carried by the response,
  51. determines syntax and processing rules for token
  52. </xsd:documentation>
  53. </xsd:annotation>
  54. </xsd:element>
  55. <xsd:element maxOccurs="1" minOccurs="1" name="tokenData" type="xsd:string">
  56. <xsd:annotation>
  57. <xsd:documentation>
  58. contains the string representation of the
  59. security token - no further token format identifier
  60. </xsd:documentation>
  61. </xsd:annotation>
  62. </xsd:element>
  63. </xsd:sequence>
  64. </xsd:complexType>
  65. <xsd:complexType name="login">
  66. <xsd:sequence/>
  67. </xsd:complexType>
  68. <xsd:complexType name="getTokens">
  69. <xsd:sequence>
  70. <xsd:element maxOccurs="unbounded" minOccurs="1" name="serviceId" type="xsd:string">
  71. </xsd:element>
  72. </xsd:sequence>
  73. </xsd:complexType>
  74. <xsd:complexType name="getTokensResponse">
  75. <xsd:sequence>
  76. <xsd:element maxOccurs="unbounded" minOccurs="1" name="securityToken" type="tns:SecurityTokenResponse">
  77. </xsd:element>
  78. </xsd:sequence>
  79. </xsd:complexType>
  80. <xsd:complexType name="getTokensForSession">
  81. <xsd:sequence>
  82. <xsd:element maxOccurs="unbounded" minOccurs="1" name="serviceId" type="xsd:string">
  83. </xsd:element>
  84. <xsd:element maxOccurs="1" minOccurs="1" name="ssid" type="xsd:string">
  85. <xsd:annotation>
  86. <xsd:documentation>
  87. valid SAM Session Id
  88. </xsd:documentation>
  89. </xsd:annotation>
  90. </xsd:element>
  91. </xsd:sequence>
  92. </xsd:complexType>
  93. <xsd:simpleType name="IDType">
  94. <xsd:restriction base="xsd:string">
  95. <xsd:enumeration value="guid"/>
  96. <xsd:enumeration value="anid"/>
  97. <xsd:enumeration value="alia"/>
  98. </xsd:restriction>
  99. </xsd:simpleType>
  100. <xsd:complexType name="getTokensForUserId">
  101. <xsd:sequence>
  102. <xsd:element maxOccurs="unbounded" minOccurs="1" name="serviceId" type="xsd:string">
  103. </xsd:element>
  104. <xsd:element name="uid" type="xsd:string"/>
  105. <xsd:element name="idx" type="tns:IDType"/>
  106. <xsd:element maxOccurs="unbounded" minOccurs="0" name="authn" type="xsd:string"/>
  107. </xsd:sequence>
  108. </xsd:complexType>
  109. <xsd:complexType name="getTokensForUserIdAndProfile">
  110. <xsd:sequence>
  111. <xsd:element maxOccurs="unbounded" minOccurs="1" name="serviceId" type="xsd:string">
  112. </xsd:element>
  113. <xsd:element name="uid" type="xsd:string"/>
  114. <xsd:element name="idx" type="tns:IDType"/>
  115. <xsd:element maxOccurs="unbounded" minOccurs="0" name="authn" type="xsd:string"/>
  116. <xsd:element maxOccurs="1" minOccurs="1" name="profileId" type="xsd:string">
  117. </xsd:element>
  118. </xsd:sequence>
  119. </xsd:complexType>
  120. <xsd:element name="FaultResponse" type="tns:FaultResponse"/>
  121. <xsd:element name="login" type="tns:login"/>
  122. <xsd:element name="loginResponse" type="tns:SecurityTokenResponse"/>
  123. <xsd:element name="getTokens" type="tns:getTokens"/>
  124. <xsd:element name="getTokensResponse" type="tns:getTokensResponse"/>
  125. <xsd:element name="getTokensForSessionResponse" type="tns:getTokensResponse"/>
  126. <xsd:element name="getTokensForUserIdResponse" type="tns:getTokensResponse"/>
  127. <xsd:element name="getTokensForUserIdAndProfileResponse" type="tns:getTokensResponse"/>
  128. <xsd:element name="getTokensForSession" type="tns:getTokensForSession"/>
  129. <xsd:element name="getTokensForUserId" type="tns:getTokensForUserId"/>
  130. <xsd:element name="getTokensForUserIdAndProfile" type="tns:getTokensForUserIdAndProfile"/>
  131. </xsd:schema>
  132. </wsdl:types>
  133. <wsdl:message name="FaultResponse">
  134. <wsdl:part name="fault" element="schema:FaultResponse"/>
  135. </wsdl:message>
  136. <wsdl:message name="loginRequest">
  137. <wsdl:part name="parameters" element="schema:login"/>
  138. </wsdl:message>
  139. <wsdl:message name="loginResponse">
  140. <wsdl:part name="parameters" element="schema:loginResponse"/>
  141. </wsdl:message>
  142. <wsdl:message name="getTokensRequest">
  143. <wsdl:part name="parameters" element="schema:getTokens"/>
  144. </wsdl:message>
  145. <wsdl:message name="getTokensResponse">
  146. <wsdl:part name="getTokensResponse" element="schema:getTokensResponse">
  147. </wsdl:part>
  148. </wsdl:message>
  149. <wsdl:message name="getTokensForSessionRequest">
  150. <wsdl:part name="parameters" element="schema:getTokensForSession">
  151. </wsdl:part>
  152. </wsdl:message>
  153. <wsdl:message name="getTokensForSessionResponse">
  154. <wsdl:part name="getTokensForSessionResponse" element="schema:getTokensForSessionResponse">
  155. </wsdl:part>
  156. </wsdl:message>
  157. <wsdl:message name="getTokensForUserIdRequest">
  158. <wsdl:part name="parameters" element="schema:getTokensForUserId">
  159. </wsdl:part>
  160. </wsdl:message>
  161. <wsdl:message name="getTokensForUserIdResponse">
  162. <wsdl:part name="getTokensForUserIdResponse" element="schema:getTokensForUserIdResponse">
  163. </wsdl:part>
  164. </wsdl:message>
  165. <wsdl:message name="getTokensForUserIdAndProfileRequest">
  166. <wsdl:part name="parameters" element="schema:getTokensForUserIdAndProfile">
  167. </wsdl:part>
  168. </wsdl:message>
  169. <wsdl:message name="getTokensForUserIdAndProfileResponse">
  170. <wsdl:part name="getTokensForUserIdAndProfileResponse" element="schema:getTokensForUserIdAndProfileResponse">
  171. </wsdl:part>
  172. </wsdl:message>
  173. <wsdl:portType name="SecurityTokenServiceWS">
  174. <wsdl:operation name="login">
  175. <wsdl:input message="tns:loginRequest"/>
  176. <wsdl:output message="tns:loginResponse"/>
  177. <wsdl:fault name="fault" message="tns:FaultResponse"/>
  178. </wsdl:operation>
  179. <wsdl:operation name="getTokens">
  180. <wsdl:input message="tns:getTokensRequest"/>
  181. <wsdl:output message="tns:getTokensResponse"/>
  182. <wsdl:fault name="fault" message="tns:FaultResponse"/>
  183. </wsdl:operation>
  184. <wsdl:operation name="getTokensForSession">
  185. <wsdl:input message="tns:getTokensForSessionRequest"/>
  186. <wsdl:output message="tns:getTokensForSessionResponse"/>
  187. <wsdl:fault name="fault" message="tns:FaultResponse"/>
  188. </wsdl:operation>
  189. <wsdl:operation name="getTokensForUserId">
  190. <wsdl:input message="tns:getTokensForUserIdRequest"/>
  191. <wsdl:output message="tns:getTokensForUserIdResponse"/>
  192. <wsdl:fault name="fault" message="tns:FaultResponse"/>
  193. </wsdl:operation>
  194. <wsdl:operation name="getTokensForUserIdAndProfile">
  195. <wsdl:input message="tns:getTokensForUserIdAndProfileRequest">
  196. </wsdl:input>
  197. <wsdl:output message="tns:getTokensForUserIdAndProfileResponse"/>
  198. <wsdl:fault name="fault" message="tns:FaultResponse"/>
  199. </wsdl:operation>
  200. </wsdl:portType>
  201. <wsdl:binding name="SecurityTokenServiceSOAPBinding" type="tns:SecurityTokenServiceWS">
  202. <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
  203. <wsp:PolicyReference URI="#TransportBindingPolicy"/>
  204. <wsdl:operation name="login">
  205. <soap:operation soapAction="http://sts.idm.telekom.com/wsdl/login"/>
  206. <wsdl:input>
  207. <wsp:PolicyReference URI="#UsernameTokenPolicy"/>
  208. <soap:body use="literal"/>
  209. </wsdl:input>
  210. <wsdl:output>
  211. <soap:body use="literal"/>
  212. </wsdl:output>
  213. <wsdl:fault name="fault">
  214. <soap:fault name="fault" use="literal"/>
  215. </wsdl:fault>
  216. </wsdl:operation>
  217. <wsdl:operation name="getTokens">
  218. <soap:operation soapAction="http://sts.idm.telekom.com/wsdl/getTokens"/>
  219. <wsdl:input>
  220. <wsp:PolicyReference URI="#SAMLTokenPolicy"/>
  221. <soap:body use="literal"/>
  222. </wsdl:input>
  223. <wsdl:output>
  224. <soap:body use="literal"/>
  225. </wsdl:output>
  226. <wsdl:fault name="fault">
  227. <soap:fault name="fault" use="literal"/>
  228. </wsdl:fault>
  229. </wsdl:operation>
  230. <wsdl:operation name="getTokensForSession">
  231. <soap:operation soapAction="http://sts.idm.telekom.com/wsdl/getTokensForSession"/>
  232. <wsdl:input>
  233. <wsp:PolicyReference URI="#SAMLTokenPolicy"/>
  234. <soap:body use="literal"/>
  235. </wsdl:input>
  236. <wsdl:output>
  237. <soap:body use="literal"/>
  238. </wsdl:output>
  239. <wsdl:fault name="fault">
  240. <soap:fault name="fault" use="literal"/>
  241. </wsdl:fault>
  242. </wsdl:operation>
  243. <wsdl:operation name="getTokensForUserId">
  244. <soap:operation soapAction="http://sts.idm.telekom.com/wsdl/getTokensForUserId"/>
  245. <wsdl:input>
  246. <wsp:PolicyReference URI="#SAMLTokenPolicy"/>
  247. <soap:body use="literal"/>
  248. </wsdl:input>
  249. <wsdl:output>
  250. <soap:body use="literal"/>
  251. </wsdl:output>
  252. <wsdl:fault name="fault">
  253. <soap:fault name="fault" use="literal"/>
  254. </wsdl:fault>
  255. </wsdl:operation>
  256. <wsdl:operation name="getTokensForUserIdAndProfile">
  257. <soap:operation soapAction="http://sts.idm.telekom.com/wsdl/getTokensForUserIdAndProfile"/>
  258. <wsdl:input>
  259. <wsp:PolicyReference URI="#SAMLTokenPolicy"/>
  260. <soap:body use="literal"/>
  261. </wsdl:input>
  262. <wsdl:output>
  263. <soap:body use="literal"/>
  264. </wsdl:output>
  265. <wsdl:fault name="fault">
  266. <soap:fault name="fault" use="literal"/>
  267. </wsdl:fault>
  268. </wsdl:operation>
  269. </wsdl:binding>
  270. <wsdl:service name="SecurityTokenService">
  271. <wsdl:port name="TokenService" binding="tns:SecurityTokenServiceSOAPBinding">
  272. <soap:address location="https://sts.idm.telekom.com/TokenService"/>
  273. </wsdl:port>
  274. </wsdl:service>
  275. <wsp:Policy wsu:Id="TransportBindingPolicy">
  276. <wsp:ExactlyOne>
  277. <wsp:All>
  278. <wsaws:UsingAddressing xmlns:wsaws="http://www.w3.org/2006/05/addressing/wsdl"/>
  279. <sp:TransportBinding>
  280. <wsp:Policy>
  281. <sp:TransportToken>
  282. <wsp:Policy>
  283. <sp:HttpsToken RequireClientCertificate="false"/>
  284. </wsp:Policy>
  285. </sp:TransportToken>
  286. <sp:Layout>
  287. <wsp:Policy>
  288. <sp:Strict/>
  289. </wsp:Policy>
  290. </sp:Layout>
  291. <sp:IncludeTimestamp/>
  292. <sp:AlgorithmSuite>
  293. <wsp:Policy>
  294. <sp:Basic256/>
  295. </wsp:Policy>
  296. </sp:AlgorithmSuite>
  297. </wsp:Policy>
  298. </sp:TransportBinding>
  299. <sp:Wss11/>
  300. </wsp:All>
  301. </wsp:ExactlyOne>
  302. </wsp:Policy>
  303. <wsp:Policy wsu:Id="UsernameTokenPolicy">
  304. <wsp:ExactlyOne>
  305. <wsp:All>
  306. <sp:SupportingTokens>
  307. <wsp:Policy>
  308. <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
  309. <wsp:Policy>
  310. <sp:WssUsernameToken11/>
  311. </wsp:Policy>
  312. </sp:UsernameToken>
  313. </wsp:Policy>
  314. </sp:SupportingTokens>
  315. </wsp:All>
  316. </wsp:ExactlyOne>
  317. </wsp:Policy>
  318. <wsp:Policy wsu:Id="SAMLTokenPolicy">
  319. <wsp:ExactlyOne>
  320. <wsp:All>
  321. <sp:SupportingTokens>
  322. <wsp:Policy>
  323. <sp:SamlToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
  324. <wsp:Policy>
  325. <sp:WssSamlV20Token11/>
  326. </wsp:Policy>
  327. </sp:SamlToken>
  328. </wsp:Policy>
  329. </sp:SupportingTokens>
  330. </wsp:All>
  331. </wsp:ExactlyOne>
  332. </wsp:Policy>
  333. </wsdl:definitions>