Wie autorisiert man FastReport VCL für den Zugriff auf Cloud-Speicher

Wie autorisiert man FastReport VCL für den Zugriff auf Cloud-Speicher

Ab der ersten FastReport VCL 6 Version wurde es möglich, über spezielle „Transports“ Komponenten eine Verbindung zu Dropbox, Google Drive, Box, OneDrive herzustellen. Um die Nutzung der Transportfunktionalität ab FastReport VCL 2021.3 zu vereinfachen, haben wir die OAuth2.0 Autorisierung über den Standardbrowser komplett neu gestaltet und die Verbindungsdialoge verfeinert.

Content:

Was sind die Vorteile dieses Ansatzes?

Der Verbindungsprozess zum Cloud-Speicher von FastReport VCL 2021.3 ist ähnlich und unterscheidet sich nur in der Verbindungskonfigurierung auf der Seite des Cloud-Services. Betrachten wir also zunächst den allgemeinen Verbindungsdialog.

Standarddialog für die Verbindung zum Cloud-Speicher

Die Felder „Client-ID“ und „Client Secret“ sind für die Eingabe von Autorisierungsdaten vorgesehen, die aus dem Konfigurationsfenster des Cloud-Speichers generiert werden. Mit den Schaltflächen rechts neben den Berechtigungsfeldern können Sie die eingegebenen Informationen ein- oder ausblenden. Für einen schnellen Zugriff auf die Konfigurationsseite im Browser verwenden Sie eine Schaltfläche mit einer Frage im Autorisierungsdialog (Open configuration page). Um das Autorisierungs-Token zu speichern, aktivieren Sie einfach das Kontrollkästchen "Autorisierungs-Token speichern".

Das Autorisierungs-Token wird in der Registrierung oder in der Konfigurationsdatei in verschlüsselter Form gespeichert.

Die EncryptionKey-Eigenschaft der ausgewählten Transportkomponente ist für den Verschlüsselungsschlüssel zuständig. Diese Eigenschaft ist nur über den Code verfügbar. Der Programmierer kann die Verschlüsselung ändern, um Autorisierungsdaten auf der Grundlage der intern verwendeten Sicherheitsrichtlinien zu erhalten.

Hinzufügen des Transports zur Anwendung und Konfigurieren

Transport-Konfigurierung

  1. Öffnen Sie die Komponentenpalette in der Entwicklungsumgebung von Embarcadero Rad Studio und erweitern Sie die Registerkarte “FastReport VCL Internet transports”.

  2. Wählen Sie die gewünschte Komponente aus und fügen Sie sie dem Anwendungsformular hinzu.

Sie können das Kontextmenü direkt auf der Komponente verwenden. Dadurch wird die Verbindung direkt von der Entwicklungsumgebung aus hergestellt. Klicken Sie auf das Untermenü “Edit connection”.

 

Aufruf des Untermenüs

Standardmäßig verwenden die Transporte 9898 Ports für Autorisierungsantworten vom Browser.

Wenn dieser Port bereits belegt ist oder Sie planen, diesen Port in Zukunft zu verwenden, ermöglicht FastReport VCL den Standardport über die ListenerPort-Eigenschaft zu ändern.

Port-Einstellung

Weiter wird standardmäßig der Port 9898 verwendet.

Betrachten wir nun die Verbindungsschritte für jeden der folgenden Transporte:

Wichtig! Der Benutzer muss nicht jedes Mal alle folgenden Schritte zur Autorisierung ausführen. Diese Einstellung wird nur einmal vom Administrator der Cloud-Services vorgenommen. Nachdem alle Autorisierungsschritte abgeschlossen sind, können diese Daten auch für andere Benutzer verwendet werden.

Verbindung zu Dropbox

Wenn der Benutzer eine Datei mit dem Transport öffnen oder speichern will, wird das Standard-Autorisierungsdialogfeld angezeigt (falls er sich zuvor nicht angemeldet hat).

Standard-Autorisierungsdialog

Um die Seite mit den Verbindungseinstellungen zu öffnen, klicken Sie auf die Schaltfläche mit dem Fragezeichen oben rechts im Autorisierungsfenster. Danach wird der Standardbrowser mit der Konfigurationsseite der Dropbox-Anwendung geöffnet. Wenn der Benutzer nicht in Dropbox angemeldet ist, wird eine Autorisierungsseite geöffnet, auf der er sich bei seinem Dropbox-Konto anmelden muss.

Konfigurierung der Dropbox-Anwendung

Auf dieser Seite müssen Sie die API und die Zugriffsstufe auswählen und den Namen der Anwendung angeben.

Konfigurierung der Dropbox-Anwendung

Klicken Sie anschließend auf die Schaltfläche “Create app”. Unsere Anwendung wurde erfolgreich erstellt. Sie werden sofort zur Konfigurationsseite der Anwendung weitergeleitet. Sie müssen nach unten bis zu den Feldern “App key” und “App secret” scrollen. 

Konfigurierung der Dropbox-Anwendung

Kopieren Sie die Felder “App key” und “App secret” in den FastReport VCL Autorisierungsdialog.

Autorisierungsdialog

Gehen Sie zurück zu den Einstellungen des Browsers und setzen Sie das Feld "Redirect URIs" auf "http://localhost:9898" und klicken Sie auf “Add”.

Beachten Sie, dass der Port mit dem Port übereinstimmen muss, der in der ListenerPort-Eigenschaft der Transportkomponente angegeben ist.

Port-Name

Darüber hinaus können Sie weitere Einstellungen wie die Lebensdauer des Autorisierungs-Tokens festlegen.

Einstellung des Autorisierungs-Tokens

Nun müssen Sie die Zugriffsrechte auf die Anwendung konfigurieren. Gehen Sie auf die Registerkarte “Permissions” und aktivieren Sie die Kästchen neben den erforderlichen Zugriffsrechten (Dateien lesen und schreiben, Verzeichnisliste lesen usw.). 

Zugriffsrechte auf die Anwendung

Wenn alle Kontrollkästchen gesetzt sind, klicken Sie auf “Submit”.

Gehen Sie zurück zu FastReport VCL und aktivieren Sie die Kontrollkästchen “Save authorization token” und “Remember properties”, wenn Sie die Autorisierungsdaten speichern müssen. Klicken Sie auf “Ok”. Der Standardbrowser sollte erscheinen. Der Benutzer muss sich anmelden. Nach der Autorisierung erscheint das Warnungsfenster über die Verbindung mit der Anwendung.

Warnungsfenster

Klicken Sie auf “Continue” und es erscheint der folgende Dialog.

Zugriffsbestätigung

Klicken Sie auf “Allow”. Sie werden aufgefordert, dieses Browserfenster zu schließen.

Meldung im Browser

Unsere Anwendung ist verbunden, Sie können den Browser schließen.

Standard-Dateivorschau in FastReport VCL

An dieser Stelle können Sie Dateien auf einen Cloud-Speicher übertragen.

Verbindung zu Google Drive

Der Standard-Autorisierungsdialog unterscheidet sich nicht von dem, der zuvor für die Dropbox-Verbindung beschrieben wurde. Gehen wir direkt zur Autorisierungsseite, wo Sie sich bei Ihrem Google Drive-Konto anmelden müssen.

Wenn diesem Konto noch keine Projekte für die Arbeit mit der Google-API hinzugefügt wurden, müssen Sie zunächst ein neues Projekt erstellen.

Verbindung zu Google Drive

Klicken Sie auf “Create project”.

Verbindung zu Google Drive

Geben Sie den Projektnamen ein und klicken Sie auf “Create”.

Select project

Verwenden Sie die Schaltfläche “Select project”, um das erstellte Projekt auszuwählen.

Verbindung zu Google Drive

Wählen Sie das zuvor erstellte Projekt aus und klicken Sie auf “Open”.

Wechseln zu dem zuvor erstellten Projekt

Wechseln Sie zur Registerkarte “OAuth consent screen”. Wir müssen den Benutzertyp auswählen, der diesen Cloud-Speicher nutzen soll: interne Nutzung mit Zugriff nur für Benutzer des Unternehmens oder für alle Google-Konten. Danach klicken Sie auf “Create”.

Ausfüllen der E-Mail

Geben Sie dann den Namen der Anwendung und den E-Mail-Kontakt ein. Klicken Sie auf “Save and continue”.

Konfigurieren des Aktionsbereichs

In diesem Schritt können Sie den Aktionsbereich konfigurieren, für Google Drive kann er übersprungen werden. Klicken Sie auf “Save and continue”.

Im nächsten Schritt können Sie den Zugriff auf die Anwendung für eine bestimmte Benutzergruppe konfigurieren. Wenn Sie den Zugriff auf die Anwendung sofort veröffentlichen wollen, können Sie diesen Schritt überspringen. Klicken Sie auf “Save and continue”.

Die Anwendung wurde erstellt. Wechseln Sie zur Registerkarte “Back to dashboard”.

Registerkarte “Back to dashboard”

Wechseln Sie zur Registerkarte “OAuth consent screen” und klicken Sie auf “PUBLISH APP”. Dadurch wird der Zugriff auf die Anwendung erstellt. Öffnen Sie diesen Link und aktivieren Sie die Google Drive API für ein aktives Projekt, indem Sie auf die Schaltfläche " Enable" klicken.

Google Drive API

Nun müssen wir Autorisierungsschlüssel erstellen. Wechseln Sie zur Registerkarte “Credentials”.

Autorisierungsschlüssel-Erstellung

Klicken Sie auf “Create Credentials” und wählen Sie “OAuth client ID”.

“OAuth client ID”

Jetzt müssen Sie den Anwendungstyp auswählen (in unserem Fall Desktop App).

Desktop App Anwendungstyp

Geben Sie einen beliebigen Namen für die Verbindung ein und klicken Sie auf “Create”. Der Client für die Autorisierung wird erstellt.
Erstellen eines Clients

Kopieren Sie die Felder “Client ID” und “Client Secret” in die entsprechenden Eingabefelder des FastReport VCL Autorisierungsdialogs.

Füllen mit Daten

Klicken Sie auf “Ok”. Im Standardbrowser sollte ein neues Fenster erscheinen. Sie werden aufgefordert, ein Konto für die Autorisierung auszuwählen.

Autorisierungsfenster

Als nächstes wird eine Warnung angezeigt, dass die Anwendung nicht von Google verifiziert wurde. Klicken Sie auf “Advanced” und Go to Anwendungsname (unsafe).

Google-Meldung

Es wird ein weiterer Zugriffsdialog angezeigt. Wählen Sie die Zugriffsrechte aus und klicken Sie auf “Continue”.

Google-Meldung

Das Browserfenster kann geschlossen werden.

Wenn die Verbindung erfolgreich war, wird der FastReport VCL Standard-Datei-Browser angezeigt.

Verbindung erfolgreich hergestellt

Verbindung zu Box

Der Standard-Autorisierungsdialog ist derselbe wie bei der letzten Verbindung. Gehen wir direkt zur Autorisierungsseite, wo Sie sich bei Ihrem Box-Konto anmelden müssen.

Anmeldung an Box

Klicken Sie auf die Schaltfläche “Create New App”.

Erstellen einer neuen Anwendung

Wählen Sie den Anwendungstyp. Wir verwenden “Custom App”. Als nächstes müssen Sie die Autorisierungsmethode und den Namen der Anwendung angeben.

“OAuth 2.0” wählen

Wählen Sie “OAuth 2.0” und geben Sie den Anwendungsnamen ein. Klicken Sie auf “Create App” und scrollen sie dann die nächste Seite mit der App-Konfiguration nach unten zum Feld "Client ID".

Füllen mit Daten

Kopieren Sie die Werte der Felder "Client ID" und "Client Secret" in die entsprechenden Felder des FastReport VCL Autorisierungsdialogs.

Füllen mit Daten

Gehen Sie zurück zur Konfigurierungsseite im Browser.

Konfigurierung vom Browser

Füllen Sie das Feld “OAuth 2.0 Redirect URI”. Geben Sie den Link http://localhost:9898 ein.

Beachten Sie, dass der Port mit dem Port übereinstimmen muss, der in der ListenerPort-Eigenschaft der Transportkomponente angegeben ist.

Aktivieren Sie das Kontrollkästchen “Write all files and folders stored in Box”, wenn Sie Schreibzugriffsrechte benötigen.

Festlegen von Berechtigungen für die Anwendung

Klicken Sie auf die Schaltfläche “Save Changes”.

Gehen Sie zurück zum FastReport VCL Autorisierungsdialog und klicken Sie auf “Ok”.

Anmeldung an Box

Ein neues Fenster wird geöffnet, in dem Sie aufgefordert werden, sich bei Ihrem Konto anzumelden. Nach der Autorisierung klicken Sie auf “Grant access to Box”.

Wenn die Verbindung erfolgreich war, erscheint der FastReport VCL Standard-Datei-Browser.

Erfolgreiche Datenverbindung

Verbindung zu OneDrive

Der erste Schritt ist derselbe. Sie können ihn im Abschnitt Verbindung zu Dropbox oben finden. Konfigurieren wir die Anmeldung bei Ihrem Microsoft-Konto.

Anmeldung bei Ihrem Microsoft-Konto

Als Erstes müssen Sie eine neue Anwendung erstellen. Klicken Sie auf “Register an application”. Im nächsten Schritt geben Sie den Anwendungsnamen und den Redirect URI ein (unten auf der Seite).

Konto-Einstellung

Klicken Sie auf die Schaltfläche “Register”. Unsere Anwendung wird erfolgreich erstellt.

Wert des “Client ID”-Feldes

Kopieren Sie den Wert des Feldes “Client ID” in den FastReport VCL Autorisierungsdialog. Öffnen Sie die Registerkarte “Certificates & secrets”.

Wechseln zum nächsten Abschnitt

Klicken Sie auf “New client secret”.

Wechseln zum nächsten Abschnitt

Geben Sie die Beschreibung ein und wählen Sie die Code-Laufzeit. Klicken sie auf “Add”.

Abschluss der Konfiguration

Kopieren Sie den Wert “Value” in den FastReport VCL Autorisierungsdialog.

Füllen mit Daten

Klicken Sie auf “Ok”. Ein neues Fenster wird geöffnet, in dem Sie aufgefordert werden, sich bei Ihrem Konto anzumelden.

Bestätigung der Anmeldung

Nach der Autorisierung klicken Sie auf “Yes”.

Erfolgreiche Datenverbindung

Damit ist die Verbindungseinstellungen erfolgreich abgeschlossen. Jetzt wissen Sie, wie Sie sich mit jedem der Cloud-Laufwerke in der FastReport VCL verbinden können.