Cloud computing technology and online data storage for business network concept.

Einfache Erzeugung und Auslieferung von Cloud-Lizenzen

Mit dem Lizenzportal steht Ihnen als Softwarehersteller eine einfache und flexible Option zur Verfügung, um Ihren Anwendern die Möglichkeit zu geben, CmCloudContainer selber zu erstellen und zu verwalten sowie Lizenzen zu aktivieren oder zu deaktivieren. Doch was ist, wenn Sie all dies in ein eigenes Portal oder eine eigene Software integrieren und das Lizenzportal, und gegebenenfalls sogar die Benutzerregistrierung, komplett vor Ihrem Anwender verstecken möchten? Hierfür bietet das Lizenzportal ein REST-API, was sich Gateways nennt. Schauen wir uns dieses API im Folgenden genauer an.

Die Credential-Datei

Das Lizenzportal und sein REST-API sind eine einfache Option, um sowohl mit CodeMeter License Central als auch CodeMeter Cloud zu kommunizieren. Um einen CmCloudContainer zu verwenden, benötigt ein Anwender eine Credential-Datei. Diese enthält seine Zugangsdaten. CodeMeter Cloud erzeugt diese Datei zwar, aber speichert sie nicht. Das Lizenzportal schließt diese Lücke. Es hat eine direkte Eins-zu-Eins-Beziehung zwischen einem User im Portal und einem CmCloudContainer, und somit zu einer Credential-Datei. Ändert der Anwender sein Passwort, wird automatisch eine neue Credential-Datei erzeugt und die alte ungültig. Die eigentliche Credential-Datei sieht der Anwender nicht, da diese im Portal oder in Ihrer Anwendung im Hintergrund verwendet wird. Dies hat auch einen starken psychologischen Effekt: Eine Datei gibt ein Anwender mit weniger Bedenken weiter als ein Passwort. Um ein Höchstmaß an Sicherheit zu gewährleisten, ist die Credential-Datei im Lizenzportal mit dem Passwort des Anwenders verschlüsselt.

Ein User-Account ist erforderlich

Diese starke Bindung einer Credential-Datei an einen User-Account zeigt, dass bei der Verwendung des Lizenzportals in Kombination mit CodeMeter Cloud ein User-Account zwingend erforderlich ist. Um dies in eine bestehende Lösung von Ihnen als Hersteller zu integrieren, stehen Ihnen drei Optionen zur Verfügung:

  • Verwendung der Benutzerverwaltung des Portals
  • Erzeugen eines Dummy-Accounts für jeden Anwender
  • Integration mit einem Single Sign On (SSO)

Die dritte Option mit SSO kann aktuell mit Hilfe von Professional Services realisiert werden. Im Release 22.11 ist sie als Standardfeature geplant.

Anlegen eines Accounts

Die Verwendung des Portals beginnt mit der Anlage eines Accounts für einen Anwender. Dieser Aufruf hat vier Parameter: „mail“, password“, „data“ und „ticket“. Die E-Mail-Adresse („mail“) ist ein eindeutiges Identifikationsmerkmal für den Anwender. Die Vorteile wiegen hier die Nachteile der Verwendung der E-Mail-Adresse auf. Ein Lizenzportal wird von den meisten Anwendern nur selten verwendet. Und erinnern Sie sich nach einem Jahr Abstinenz eher an einen frei gewählten Nutzernamen wie „TollerHecht2020“ oder an Ihre E-Mail-Adresse?

Das Passwort-Feld („password“) sollte von Ihnen vor der Registrierung im eigenen Client geprüft werden. Das heißt, Sie sollten es den Anwender doppelt eingeben lassen und die beiden Eingaben auf Gleichheit prüfen. Außerdem können Sie die Passwort-Regeln im Lizenzportal konfigurieren. Sie können selber prüfen, ob das Passwort den konfigurier Regeln entspricht, bevor Sie die Registrierung aufrufen.

Das Feld „data“ ist beliebiges Freitext-Feld. Es ist dafür vorgesehen, zusätzliche Kundendaten wie Name, Firma, Alter, Anschrift, Schuhgröße etc. als JSON-String zu erfassen. Eben einfach alles, was Sie an Daten sammeln wollen. Die Verantwortung der DSGVO-Konformität liegt in diesem Fall bei Ihnen. Das API bietet eine Option, diese Daten später zu ändern bzw. zu leeren, damit Sie die DSGVO-Konformität umsetzen können.

Das letzte und sehr interessante Feld ist „ticket“. Sie können im Lizenzportal konfigurieren, ob Sie ein Ticket aus CodeMeter License Central als Captcha-Feld verwenden wollen. Dies dient zum Verhindern von Spam-Accounts durch automatische Skripte. Das Ticket darf zum Zeitpunkt der Registrierung nicht bereits verwendet werden, das heißt, es darf keinem anderen Anwender und keiner Gruppe zugewiesen sein. Aus Bequemlichkeitsgründen wird das Ticket nach erfolgreicher Registrierung dem Anwender sofort zugewiesen. Sie können das Captcha-Feld komplett ausschalten oder einen eigenen Mechanismus implementieren.

Die Session

Der Befehl „register“ meldet den Anwender im Erfolgsfall sofort an. Sie erhalten dann eine „sessionid“, die „mail“ und ein „sessiontoken“ als Rückgabewert. Diese Werte geben Sie bei weiteren API-Aufrufen an.

Zusätzlich erhalten Sie die Information, ob der Anwender noch mit einem Double-Opt-In bestätigt werden muss. Die Double-Opt-In-Funktionalität können Sie in der Konfiguration des Lizenzportals einstellen. Ist sie aktiviert, erhält der Anwender per E-Mail einen Code, den er zur Bestätigung der E-Mail-Adresse eingeben muss. Dazu steht Ihnen ein Separater API-Aufruf zur Verfügung. Ohne Bestätigung sind keine weiteren API-Aufrufe möglich.

Die gleichen Rückgabewerte erhalten Sie selbstverständlich auch, wenn Sie den Anwender später per API („login“) anmelden. Zum Abmelden steht „logout“ zur Verfügung.

Dummy-Anwender

Eine durchaus beliebte Option ist es, den Anwender automatisch anzulegen, ohne dass dieser etwas selbst eingeben muss. Bitte beachten Sie, dass in diesem Fall auch dieses automatische Anlegen in Ihren Vertragsbedingungen DSGVO-konform formuliert sein muss.

Aus Ihrer internen Benutzerkennung leiten Sie eine E-Mail-Adresse ab. Dies kann zum Beispiel eine virtuelle E-Mail-Adresse auf Ihrem eigenen Server sein. Falls Sie über keine Benutzerkennung verfügen, können Sie abhängig von Ihrem Anwendungsfall auch das Ticket verwenden.

Viel spannender ist die Erzeugung eines automatischen Passworts. Im optimalen Fall haben Sie dazu die Möglichkeit in Ihrem System, welches die Registrierung auslöst, einen zufälligen Wert pro Anwender zu speichern. Das kann ein Eintrag in Ihrer Kundendatenbank sein, aber auch ein Wert auf dem lokalen Rechner. Sie erzeugen diesen zufälligen Wert, hängen ihn an die Benutzerkennung und hashen dieses Ergebnis. Das Ergebnis des Hash-Algorithmus verwenden Sie als Passwort.

Erhalten der Credential-Datei

Um die Credential-Datei abzurufen, steht Ihnen ein API-Aufruf zur Verfügung. Wie bei allen anderen API-Aufrufen benötigt dieser „sessionid“, „sessiontoken“ und „mail“.

Zusätzlich muss bei diesem Aufruf das Passwort erneut mitgegeben werden. Das erneute Abfragen des Passworts ist ein sparsam verwendetes, aber dennoch übliches Mittel, um wichtige Funktionen vor unbefugter Benutzung zu sperren. Im Lizenzportal ist dies durch die Verschlüsselung der Credential-Datei mit dem Passwort technisch erforderlich.

Beim ersten Aufruf kann der Name des CmCloudContainer mitgegeben werden. Dies ist der Name, den der Anwender im CodeMeter Kontrollzentrum später sehen kann. Bei jedem nachfolgenden Aufruf erhalten Sie die gleiche Datei erneut. Ein eventuell neuer Name wird ignoriert. Als CmActID verwenden Sie bitte den festen Wert „3000“. Dies entspricht dem CmCloudContainer. Dieser Wert ist für zukünftige Anwendungsfälle reserviert. Bei Verwendung der Benutzerverwaltung des Portals sollte Ihr Client vor diesem Aufruf das Passwort erneut eingeben lassen.

Bei Verwendung eines Dummy-Account sollte Ihr Client diesen Wert vor dem Aufruf entsprechend berechnen.

Password ändern

Der Aufruf zum Ändern des Passworts erfordert zusätzlich zu den Session-Parametern das alte und das neue Passwort. Auch hier gilt, dass der Client das neue Passwort durch doppelte Eingabe selber gegen Tippfehler prüfen sollte.

Dieser Aufruf macht die alte Credential-Datei ungültig. Beim nächsten Zugriff auf Lizenzen in diesem CmCloudContainer ändert dieser seinen Status auf „rot“ und kann nicht mehr verwendet werden. Ihr Client sollte dann die Credential-Datei mit dem neuen Passwort erneut erhalten und auf dem gewünschten Rechner importieren.

Passwort zurücksetzen

Auch für den Fall eines vergessenen Passworts steht eine API-Funktion zur Verfügung. Diese besteht aus zwei Funktionsaufrufen. Im ersten Aufruf wird ein Rücksetz-Token angefordert. Dazu wird nur die E-Mail-Adresse benötigt. Diese Funktion löst noch keine internen Aktionen aus. Es wird lediglich ein Token erzeugt, welches in einer konfigurierbaren Zeit verwendet werden kann.

Üblicherweise wird dieses Token an die hinterlegte E-Mail-Adresse geschickt. Optional kann dieses Token auch per API erhalten werden. Wenn Sie diese Konfiguration verwenden, sollten Sie sicherstellen, dass speziell diese APIFunktion nur von einer autorisierten Anwendung aufgerufen wird.

Mit dem Token kann im zweiten Funktionsaufruf ein neues Passwort frei gewählt werden. Diese Aktion macht auch die Credential-Datei ungültig. Sie muss dann mit dem neuen Passwort erneut erhalten werden.

Lizenzen aktivieren

Die Funktionen zur Lizenzaktivierung sind analog zu den Funktionen bei CmDongles und CmActLicenses. Sie erzeugen eine Context-Datei vom CmCloudContainer mittels der lokalen CodeMeter-Installation. Mit dieser nutzen Sie die Standard-Gateway-Funktion für die Aktivierung. Die erhaltene Update-Datei spielen Sie über die lokale CodeMeter-Installation auch wieder ein. Falls Sie keine lokale CodeMeter-Installation verwenden, weil Sie eine SaaS-Anwendung umsetzen, dann bietet Ihnen das Lizenzportal-API auch
die Option, die Context-Datei direkt aus dem Lizenzportal heraus zu erhalten und die Update-Datei direkt einzuspielen. Diese Option steht Ihnen nur bei CmCloudContainern zur Verfügung.

 

KEYnote 43 – Frühjahr-/Sommerausgabe 2022

Nach oben