OAuth-Service-Provider definieren

Ein OAuth-Service-Provider ist ein benannter Satz von Konfigurationsoptionen für OAuth. Die ID oder der Name des Providers wird im URL eingehender Anforderungen für die Berechtigungs- und Tokenendpunkte angegeben. Der Satz von Konfigurationsoptionen für diesen Provider wird verwendet, wenn die Anforderung verarbeitet wird. Dieser Prozess ermöglicht einem Server mit einem Endpunktservlet die effektive Bereitstellung mehrerer OAuth-Konfigurationen. Beispielsweise wird die URL https://my.company.com:8021/oauth2/endpoint/photoShare/authorize mit dem Satz von OAuth-Konfigurationsoptionen verarbeitet, die für den OAuth-Provider photoShare definiert sind. Beispielsweise wird die URL https://my.company.com:8021/oauth2/endpoint/calendarAuthz/authorize mit dem Satz von OAuth-Konfigurationsoptionen verarbeitet, die für den OAuth-Provider calendarAuthz definiert sind.

Informationen zu diesem Vorgang

Ein OAuth-Service-Provider wird mit dem Element oauthProvider in der Datei server.xml definiert. Sie können einen OAuth-Service-Provider definieren, indem Sie die Datei server.xml bearbeiten oder indem Sie WebSphere Application Server Development Tools for Liberty Profile verwenden. Diese Task beschreibt die Definition einer minimalen OAuth-Konfiguration.

Vorgehensweise

  1. Fügen Sie die Features oauth-2.0 und ssl-1.0 hinzu. OAuth ist ein sicheres Protokoll. Deshalb ist SSL erforderlich. Sie müssen im Liberty-Profil mit dem Element keyStore ein Keystore-Kennwort für SSL angeben. Es gibt kein Keystore-Standardkennwort.
    <featureManager>
      <feature>oauth-2.0</feature>
      <feature>ssl-1.0</feature>
    </featureManager>
  2. Konfigurieren Sie mit dem Element oauth-roles die Rollenzuordnung für die OAuth-Webanwendung. OAuth ist ein HTTP-basiertes Protokoll, und es wird eine Webanwendung für die Verarbeitung der Berechtigungs- und Tokenendpunkte bereitgestellt. Die Webanwendung wird automatisch erstellt und gestartet, wenn Sie das Feature oauth-2.0 angeben. Sie müssen jedoch die Rolle authenticated einem oder mehreren Benutzern, Gruppen oder Sondersubjekten zuordnen. Eine weitere Rolle, clientManager, wird für die Verwaltung der Clientkonfiguration bereitgestellt, aber es ist nicht erforderlich, diese Rolle zuzuordnen, damit die OAuth-Berechtigung funktioniert.
    <oauth-roles>
      <authenticated>
        <user>testuser</user>
      </authenticated>
    </oauth-roles>
  3. Definieren Sie mit dem Element oauthProvider einen oder mehrere Provider. Der Provider muss mindestens einen definierten Client haben. Clients können mit den Elementen localStore und client lokal definiert werden. Mit dem Element databaseStore können Clients auch in einer relationalen Datenbank definiert werden.
    <oauthProvider id="SampleProvider" filter="request-url%=ssodemo">
      <localStore>
        <client name="client01" secret="{xor}LDo8LTor"
                displayname="Test client number 1"
                redirect="http://localhost:1234/oauthclient/redirect.jsp"
                enabled="true" />
      </localStore>
    </oauthProvider>
  4. Definieren Sie eine Benutzerregistry, entweder eine LDAP-Registry mit dem Feature ldapRegistry-3.0 und dem Konfigurationselement ldapRegistry oder eine Basisregistry durch Angabe des Konfigurationselements basicRegistry.
    <basicRegistry id="basic" realm="BasicRealm">
      <user name="testuser" password="testuserpwd" />
    </basicRegistry>
  5. Setzen Sie die Sicherheitseigenschaft allowFailOverToBasicAuth der Webanwendung auf true.
    <webAppSecurity allowFailOverToBasicAuth="true" />

Ergebnisse

Sie haben eine minimale OAuth-Konfiguration definiert.

Beispiel

Im Folgenden sehen Sie eine Beispieldatei server.xml, die einen einfachen OAuth-Provider mit einem einzigen Client definiert:
<server>

  <featureManager>
    <feature>oauth-2.0</feature>
    <feature>ssl-1.0</feature>
  </featureManager>

  <keyStore password="keyspass" />

  <oauth-roles>
    <authenticated>
      <user>testuser</user>
    </authenticated>
  </oauth-roles>

  <oauthProvider id="SampleProvider" filter="request-url%=ssodemo">
    <localStore>
      <client name="client01" secret="{xor}LDo8LTor"
              displayname="Test client number 1"
              redirect="http://localhost:1234/oauthclient/redirect.jsp"
              enabled="true" />
    </localStore>
  </oauthProvider>

  <webAppSecurity allowFailOverToBasicAuth="true" />

  <basicRegistry id="basic" realm="BasicRealm">
    <user name="testuser" password="testuserpwd" />
  </basicRegistry>

</server>

Symbol das den Typ des Artikels anzeigt. Taskartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_oauth_defining
Dateiname: twlp_oauth_defining.html