<html> <head> <title>MOA ID-Anwendung</title> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> <style type="text/css"> body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } tt { font-size:9pt; color:#505060; } pre { font-size:9pt; color:#505060; } #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } a:link {color:#000090} a:visited {color:#000090} a:hover {color:#c03030} a {text-decoration: none} </style> <script language="JavaScript"> <!-- function goWin(url) { Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); window.setTimeout("showWin()",300); } function showWin() { Fenster.focus(); } // --> </script> </head> <body bgcolor="#FFFFFF" > <div style="width:650px"> <!-- Projekt-Logo --> <div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">  Module f�r Online-Applikationen </div> <div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> <!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  </div> <div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > Projekt <span style="font-size:48pt; ">moa</span>  </div> <br /> <!-- First Section with Navigation --> <table width="650" border="0" cellpadding="10" cellspacing="0"> <tr> <td width="170" valign="top"> <div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> <div id="klein"><a href="id-anwendung.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> <b> �bersicht</b></a></div> <div id="klein"><a href="id-anwendung_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> <b> Aufruf MOA-ID-AUTH</b></a></div> <div id="klein"><a href="id-anwendung_2.htm"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> <b> Abfrage MOA-ID-AUTH </b></a></div> <br /> <div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> <b> Zur�ck</b></a></div> </br /><br /> <div id="slogan"> <b>Abfragearten: </b> </br /> <a href="#webservice"><b>Web Service</b></a><br /> <a href="#proxy"><b>MOA-ID-PROXY</b></a><br /> </div> </td> <td valign="top"> <p id="titel">Abfrage der Anmeldedaten von MOA-ID-AUTH</p> <div id="block">Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit, und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA). <br /><br /> In diesem Redirect werden der Gesch�ftsbereich und ein SAML-Artifact als Parameter �bergeben. </div> <pre><a href="https://<oa-url> ?Target=<gesch�ftsbereich> &SAMLArtifact=<saml-artifact>"></pre> <table border="1"><tbody valign="baseline"> <tr><td><oa-url></td><td>URL, der beim Aufruf von MOA-ID-AUTH als Parameter "OA" �bergeben wurde</td></tr> <tr><td>Target=<gesch�ftsbereich></td><td>Parameter, der beim Aufruf von MOA-ID-AUTH �bergeben wurde</td></tr> <tr><td>SAMLArtifact=<saml-artifact></td><td>SAML-Artifact, das von MOA-ID-AUTH zu den Anmeldedaten erstellt wurde. Mithilfe dieses SAML-Artifacts kann die OA die Anmeldedaten von MOA-ID-AUTH abholen.</td></tr> </tbody></table> <br/><br/> <div id="block">Grunds�tzlich stehen einer OA mehrere Arten zum Abholen der Anmeldedaten von MOA-ID-AUTH zur Verf�gung: </div> <ol> <li>Die Applikation ruft selbst das MOA-ID-AUTH Web Service auf. <br/>Die Implementierung dieser Variante wird empfohlen, insbesondere f�r Online-Applikationen, die neu erstellt werden. </li> <li>Es wird die MOA-ID-PROXY Webapplikation eingesetzt, um die Anmeldedaten abzuholen und an die OA zu �bergeben. <br/>Aus Sicht von MOA-ID-PROXY ist bedeutsam, ob die OA die Anmeldedaten nach Abarbeitung des HTTP-Requests beh�lt. <ul> <li>Stateful OA: MOA-ID-PROXY �bergibt einmalig die Anmeldedaten an die OA, und die OA speichert die Anmeldedaten, typischerweise unter Einsatz von Cookies.</li> <li>Stateless OA: MOA-ID-PROXY �bergibt die Anmeldedaten bei jedem HTTP-Request vom Browser des B�rgers an die OA.</li> </ul> Diese Variante ist vorzuziehen, wenn <ul> <li>f�r die Plattform, auf der die OA aufbaut, Web Service-Schnittstellen nicht verf�gbar sind</li> <li>das n�tige Web Service-Know How nicht zur Verf�gung steht</li> <li>die Implementierung von Variante 1 zu aufw�ndig w�re</li> <li>eine Anpassung der OA aus bestimmten Gr�nden nicht m�glich ist</li> </ul> </li> </ol> </td></tr></table> <div id="webservice" /> <table width="650" border="0" cellpadding="10" cellspacing="0"> <td width="170" valign="top" id="klein"> <p id="subtitel"> </p> <div id="slogan"> <br /><br /> </div> </td> <td valign="top"> <p id="subtitel">Aufruf des MOA-ID-AUTH Web Service</p> <div id="block">Das MOA-ID-AUTH Web Service wird �ber einen <samlp:Request> aufgerufen. Der <samlp:Request> enth�lt in einem <samlp:AssertionArtifact> das von MOA-ID-AUTH �bergebene SAML-Artifact. <br/><br/> MOA-ID-AUTH liefert als Antwort einen <samlp:Response>. Die Anmeldedaten sind im <samlp:Response> in Form einer <saml:Assertion> enthalten. <br/><br/> <a href="../cs-sstc-schema-protocol-01.xsd">SAML 1.0 Protocol Schema</a> <br/> <a href="../cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a> <br/> Der detaillierte Aufbau der <saml:Assertion> zu den Anmeldedaten ist in der <a href="../MOA-ID-1.1-20030630.pdf">Spezifikation MOA-ID 1.1</a> beschrieben. <br/><br/> <h4>Beispiel LoginServletExample</h4> Das Abholen der Anmeldedaten durch Aufruf des Web Service von MOA-ID-AUTH wird anhand eines beispielhaften Java Servlet gezeigt. Das LoginServletExample wird in einer Stateful OA von MOA-ID-AUTH nach erfolgter Authentisierung �ber Redirect aufgerufen. <br/><br/> Das Beispiel demonstriert insgesamt die Integration von MOA-ID-AUTH in die OA: </div> <ul> <li>Parameter�bergabe von MOA-ID-AUTH an die OA</li> <li>Aufruf des MOA-ID-AUTH Web Service mittels des SOAP Frameworks "Apache AXIS"</li> <li>Parsen der Anmeldedaten mittels der XPath Engine "Jaxen"</li> <li>Speichern der Anmeldedaten in der HTTPSession</li> <li>Redirect auf die eigentliche Startseite der OA</li> </ul> <b>Voraussetzungen</b><br > <div id="block">Die folgende Liste enth�lt die f�r das Beispiel erforderlichen Java-Bibliotheken. Die angef�hrten Versionsnummern bezeichnen jene Versionen dieser Java-Bibliotheken, mit denen das Beispiel getestet wurde. </div> <br /> <table border="1" width="100%" cellpadding="2" cellspacing="0"> <tr> <th>Java-Bibliothek</th><th>Version</th><th>Bemerkung</th> </tr><tr> <tr valign="top"> <td>JDK</td><td>1.3 bzw. 1.4.1</td><td>Java Development Kit</td> </tr><tr valign="top"> <td>Xerces <br />XML Parser</td><td>2.0.2+</td> <td id="klein">nicht n�tig wenn JDK 1.4 oder h�her verwendet wird <br /> Download: <a href="http://xml.apache.org/xerces2-j/">xml.apache.org/xerces2-j</a> </td> </tr><tr valign="top"> <td>AXIS <br />SOAP Framework</td><td>1.0+</td> <td id="klein">Download: <a href="http://xml.apache.org/axis/">xml.apache.org/axis</a> </td> </tr><tr valign="top"> <td>Jaxen XPath Engine</td><td>1.0+</td> <td id="klein">Download: <a href="http://jaxen.sourceforge.net/">http://jaxen.sourceforge.net</a> </td> </tr><tr valign="top"> <td>JSSE</td><td>1.0.3+</td> <td id="klein">wenn eine SSL Verbindung verwendet wird, nicht n�tig ab JDK 1.4 <br />Download: <a href="http://java.sun.com/products/jsse/">java.sun.com/products/jsse</a> </td> </tr><tr valign="top"> <td>Servlet API</td><td>2.3+</td> <td id="klein">Download: <a href="http://java.sun.com/products/servlet/">java.sun.com/products/servlet</a> </td> </tr> </table> <br/> <b>Code</b><br /> <a href="examples/LoginServletExample.txt">LoginServletExample</a> </td></tr></table> <DIV bla="hhalloo"> <div id="proxy" /> <table width="650" border="0" cellpadding="10" cellspacing="0"> <td width="170" valign="top" id="klein"> <p id="subtitel"> </p> <div id="slogan"> <br /><br /> </div> </td> <td valign="top"> <p id="subtitel">Einsatz von MOA-ID-PROXY zum Abfragen der Anmeldedaten von MOA-ID-AUTH</p> <div id="block"> Anstatt den Aufruf des MOA-ID-AUTH Web Service in der OA zu implementieren, kann die MOA-ID-PROXY Webapplikation eingesetzt werden, um dies f�r die OA zu erledigen. MOA-ID-PROXY muss f�r die OA konfiguriert werden, so wie in <a href="id-admin_2.htm#OnlineApplication/ProxyComponent">MOA-ID-Administration</a> beschrieben. <br/><br/> Bei der Konfiguration ist speziell zu beachten: <br/><br/> <b>Konfigurationsdatei zur OA</b><br /> Der <a href="id-admin_2.htm#oa-config">LoginType</a> (stateful oder stateless) ist gem�� dem Applikationstyp zu setzen. <br/><br/> Die <a href="id-admin_2.htm#oa-config">�bergabe der Anmeldedaten</a> ist in Form und Inhalt zu konfigurieren. </div> <ul> <li>BasicAuth: HTTP Basic Authentication (<a href="examples/conf/OAConfBasicAuth.xml">Beispiel</a>)</li> <li>ParamAuth: �bergabe �ber Requestparameter (<a href="examples/conf/OAConfParamAuth.xml">Beispiel</a>)</li> <li>HeaderAuth: �bergabe �ber Requestheader (<a href="examples/conf/OAConfHeaderAuth.xml">Beispiel</a>)</li> </ul> <div id="block"> <b>LoginParameterResolver</b><br /> Das �bergabe der Anmeldedaten an die OA �ber Request Parameter oder Header geschieht in einer Standardimplementierung des Interface <pre>at.gv.egovernment.moa.proxy.LoginParameterResolver</pre> Falls die Erfordernisse der OA mittels <a href="id-admin_2.htm#oa-config">Konfiguration</a> nicht abgedeckt werden k�nnen, so kann eine ma�geschneiderte Implementierung von <tt>LoginParameterResolver</tt> erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden (siehe <a href="../api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolver.html">API</a>). <br/><br/> <b>ConnectionBuilder</b> Das Herstellen einer URL-Verbindung von MOA-ID-PROXY zur OA geschieht einer Standardimplementierung des Interface <pre>at.gv.egovernment.moa.proxy.ConnectionBuilder </pre> Falls n�tig, kann eine ma�geschneiderte Implementierung von <tt>ConnectionBuilder</tt> erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden (siehe <a href="../api-doc/at/gv/egovernment/moa/id/proxy/ConnectionBuilder.html">API</a>). </div> </td></tr></table> <table width="650" border="0" cellpadding="10" cellspacing="0"> <tr> <td width="170" valign="top"><br /></td> <td valign="top"> <hr /> <div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> </td></tr></table> <br /> </div> </body> </html>