diff options
Diffstat (limited to 'id/server/doc/moa_id/id-anwendung_2.htm')
-rw-r--r-- | id/server/doc/moa_id/id-anwendung_2.htm | 368 |
1 files changed, 149 insertions, 219 deletions
diff --git a/id/server/doc/moa_id/id-anwendung_2.htm b/id/server/doc/moa_id/id-anwendung_2.htm index 4e2e89d74..68c055059 100644 --- a/id/server/doc/moa_id/id-anwendung_2.htm +++ b/id/server/doc/moa_id/id-anwendung_2.htm @@ -1,246 +1,176 @@ <html> <head> - <title>MOA ID-Anwendung</title> + <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> +<link rel="stylesheet" href="./common/MOA.css" type="text/css"> </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> +<body link="#990000"> +<table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> + <tr> + <td align="center" class="logoTitle" width="267"><img src="common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> + <td align="center" class="logoTitle">Dokumentation</td> + <td align="center" class="logoTitle" width="123"><img src="common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td> + </tr> +</table> + <hr/> + <p class="title"><a href="./moa.htm">MOA: Identifikation (ID)</a></p> + <p class="subtitle">Basis-Installation</p> + <hr/> +<h1>Inhalt</h1> + <ol> + <li> + <p><a href="#uebersicht">Übersicht</a></p> + </li> + <li> + <p><a href="#webservice">Aufruf des MOA-ID-AUTH Web Service</a></p> + </li> + <li> + <p><a href="#proxy">Einsatz von MOA-ID-PROXY zum Abfragen der Anmeldedaten von MOA-ID-AUTH</a></p> + </li> +</ol> + <hr/> -<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> +<h1><a name="uebersicht" id="uebersicht">1 Übersicht</a></h1> +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. <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> +<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/> + Grundsätzlich stehen einer OA mehrere Arten zum Abholen der Anmeldedaten von MOA-ID-AUTH zur Verfügung: <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> + <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.4_20070306.pdf">Spezifikation MOA-ID 1.4</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> +<h1><a name="webservice" id="webservice">2 Aufruf des MOA-ID-AUTH Web Service</a></h1> +<p>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. <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> + <li> + <a href="../cs-sstc-schema-protocol-01.xsd">SAML 1.0 Protocol Schema</a> <br/> + </li> + <li> +<a href="../cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a> </p> +</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 /> +<p>Der detaillierte Aufbau der <saml:Assertion> zu den Anmeldedaten ist in der <a href="../MOA_ID_1.4_20070306.pdf">Spezifikation MOA-ID 1.4</a> beschrieben. <br/> + <br/> + <b>Beispiel LoginServletExample</b> + 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: +</p> +<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> +<p><b>Voraussetzungen</b><br > + 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.</p> <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.4.0+, 1.5.0</td> -<td>Java Development Kit</td> -</tr><tr valign="top"> -<td>Xerces <br />XML Parser</td><td>2.0.2+</td> -<td id="klein">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>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> + <tr> + <th>Java-Bibliothek</th> + <th>Version</th> + <th>Bemerkung</th> + </tr> + <tr> + <tr valign="top"> + <td>JDK</td> + <td>1.4.0+, 1.5.0</td> + <td>Java Development Kit</td> + </tr> + <tr valign="top"> + <td>Xerces <br /> + XML Parser</td> + <td>2.0.2+</td> + <td id="klein2">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="klein2">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="klein2">Download: <a href="http://jaxen.sourceforge.net/">http://jaxen.sourceforge.net</a></td> + </tr> + <tr valign="top"> + <td>Servlet API</td> + <td>2.3+</td> + <td id="klein2">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> +<h1><a name="proxy" id="proxy">3 Einsatz von MOA-ID-PROXY zum Abfragen der Anmeldedaten von MOA-ID-AUTH</a></h1> +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. <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> + <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 + 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">© 2012</div></td></tr></table> -<br /> - - -</div> + 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>). </body> </html> |