{"id":7641,"date":"2022-05-10T08:38:00","date_gmt":"2022-05-10T06:38:00","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=7641"},"modified":"2022-05-10T10:39:03","modified_gmt":"2022-05-10T08:39:03","slug":"kudos-huddo-boards-docker-automatisch-per-oauth-authentifizieren-mit-spnego-sso","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/kudos-huddo-boards-docker-automatisch-per-oauth-authentifizieren-mit-spnego-sso\/","title":{"rendered":"Kudos\/Huddo Boards Docker automatisch per OAuth Authentifizieren (mit SPNEGO SSO)"},"content":{"rendered":"<p>Das auf Docker basierte Boarts nutzt OAuth, um Connections-Benutzer zu authentifizieren. Dazu erscheint regelm\u00e4\u00dfig das Authentifizierungs-Popup:<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth.png\"><img loading=\"lazy\" decoding=\"async\" width=\"501\" height=\"499\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth.png\" alt=\"\" class=\"wp-image-7642\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth.png 501w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth-361x360.png 361w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth-171x170.png 171w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth-150x150.png 150w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth-300x300.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/auth-70x70.png 70w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/a><\/figure>\n<p>Hier muss der Nutzer den Zugriff best\u00e4tigen, auch wenn er bereits in Connections angemeldet ist. Dies l\u00e4sst sich nutzerfreundlicher gestalten, in dem man die automatische Autorisierung aktiviert. Daf\u00fcr muss der Client als <em>privilegiert<\/em> markiert werden.<\/p>\n<p>Zun\u00e4chst ben\u00f6tigen wir die Id des OAuth-Clients. Standardm\u00e4\u00dfig ist das <strong>huddoboards<\/strong>, im Zweifel kann man in einer wsadmin-Konsole nachschauen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-python\" data-line=\"\">execfile(&#039;oauthAdmin.py&#039;)\nOAuthApplicationRegistrationService.browseApplications()<\/code><\/pre>\n<p>Den hinterlegen wir in <strong>connectionsProvider.xml<\/strong> auf dem Deployment-Manager als vertrauensw\u00fcrdigen Client. Die Datei befindet sich im Unterordner <strong>oauth20<\/strong>, beispielsweise <strong>\/opt\/IBM\/WebSphere\/AppServer\/profiles\/Dmgr01\/config\/cells\/CnxCell01\/oauth20\/connectionsProvider.xml<\/strong>. Anschlie\u00dfend eine vollst\u00e4ndige Neusynchronisation durchf\u00fchren und per wsadmin neu registrieren:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">wsadmin&gt;print AdminTask.createOAuthProvider(&#039;[-providerName connectionsProvider -fileName \/opt\/IBM\/WebSphere\/AppServer\/profiles\/Dmgr01\/config\/cells\/CnxCell01\/oauth20\/connectionsProvider.xml]&#039;)\nwsadmin&gt;<\/code><\/pre>\n<p>Man erh\u00e4lt keine Ausgabe. Wichtig: Unbedingt den Pfad im Profil des Deployment-Managers nutzen! Mit dem Pfad im Node funktionierte es in meinem Test nicht, dies hatte in Board folgende Fehlermeldung zur Folge:<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/grafik-37.png\"><img loading=\"lazy\" decoding=\"async\" width=\"676\" height=\"359\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/grafik-37.png\" alt=\"\" class=\"wp-image-7643\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/grafik-37.png 676w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/grafik-37-300x160.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/grafik-37-70x37.png 70w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/grafik-37-620x330.png 620w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><\/figure>\n<h2 class=\"wp-block-heading\" id=\"ausnahme-fur-spnego-sso-erstellen\">Ausnahme f\u00fcr SPNEGO SSO erstellen<\/h2>\n<p>Wird SSO per SPNEGO genutzt, sollte die URL zum neuen Boards darin ausgeschlossen werden. Die <strong>\/oauth2\/endpoint<\/strong> Pr\u00e4fixe sind bereits als Ausnahme festgelegt, gegebenfalls pr\u00fcfen. Wenn Boards im Verzeichnis <strong>\/boards<\/strong> bereitgestellt wird, folgende Regel unter Global security &gt; SPNEGO web authentication zum Filter hinzuf\u00fcgen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">;request-url!=\/boards<\/code><\/pre>\n<h2 class=\"wp-block-heading\" id=\"so-sieht-das-oauth-sso-aus\">So sieht das OAuth SSO aus<\/h2>\n<p>Wenn die Sitzung abgelaufen ist, muss sich der Nutzer lediglich noch f\u00fcr den Authentifizierungsprovider entscheiden. Sobald dieser angeklickt wird, &#8222;best\u00e4tigt&#8220; Connections den Zugriff durch das Vertrauensverh\u00e4ltnis automatisch und das Board wird geladen:<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/boards-sso.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"603\" height=\"749\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2021\/09\/boards-sso.gif\" alt=\"\" class=\"wp-image-7646\"\/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Das auf Docker basierte Boarts nutzt OAuth, um Connections-Benutzer zu authentifizieren. Dazu erscheint regelm\u00e4\u00dfig das Authentifizierungs-Popup: Hier muss der Nutzer den Zugriff best\u00e4tigen, auch wenn er bereits in Connections angemeldet ist. Dies l\u00e4sst sich nutzerfreundlicher gestalten, in dem man die automatische Autorisierung aktiviert. Daf\u00fcr muss der Client als privilegiert markiert werden. Zun\u00e4chst ben\u00f6tigen wir die &#8230;<\/p>\n","protected":false},"author":5,"featured_media":7642,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[765],"tags":[957,764,958],"class_list":["post-7641","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hcl-connections","tag-boards","tag-kudos-boards","tag-oauth"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=7641"}],"version-history":[{"count":4,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7641\/revisions"}],"predecessor-version":[{"id":8903,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/7641\/revisions\/8903"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/7642"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=7641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=7641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=7641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}