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.
Hinweis! Für die Nutzung des HTTPS-Protokolls werden die folgenden OpenSSL-Bibliotheken benötigt: libssl-3.dll und libcrypto-3.dll. Diese Dateien befinden sich im Verzeichnis der Haupt-Demo-Anwendung. Sie müssen die Bibliotheken entweder in den Anwendungsordner oder in das Systemverzeichnis kopieren.
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.
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.
Öffnen Sie die Komponentenpalette in der Entwicklungsumgebung von Embarcadero Rad Studio und erweitern Sie die Registerkarte “FastReport VCL Internet transports”.
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”.
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.
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.
Wenn der Benutzer eine Datei mit dem Transport öffnen oder speichern will, wird das Standard-Autorisierungsdialogfeld angezeigt (falls er sich zuvor nicht angemeldet hat).
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.
Auf dieser Seite müssen Sie die API und die Zugriffsstufe auswählen und den Namen der Anwendung angeben.
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.
Kopieren Sie die Felder “App key” und “App secret” in den FastReport VCL 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.
Darüber hinaus können Sie weitere Einstellungen wie die Lebensdauer des Autorisierungs-Tokens festlegen.
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.).
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.
Klicken Sie auf “Continue” und es erscheint der folgende Dialog.
Klicken Sie auf “Allow”. Sie werden aufgefordert, dieses Browserfenster zu schließen.
Unsere Anwendung ist verbunden, Sie können den Browser schließen.
An dieser Stelle können Sie Dateien auf einen Cloud-Speicher übertragen.
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.
Klicken Sie auf “Create project”.
Geben Sie den Projektnamen ein und klicken Sie auf “Create”.
Verwenden Sie die Schaltfläche “Select project”, um das erstellte Projekt auszuwählen.
Wählen Sie das zuvor erstellte Projekt aus und klicken Sie auf “Open”.
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”.
Geben Sie dann den Namen der Anwendung und den E-Mail-Kontakt ein. Klicken Sie auf “Save and continue”.
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”.
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.
Nun müssen wir Autorisierungsschlüssel erstellen. Wechseln Sie zur Registerkarte “Credentials”.
Klicken Sie auf “Create Credentials” und wählen Sie “OAuth client ID”.
Jetzt müssen Sie den Anwendungstyp auswählen (in unserem Fall Desktop App).
Geben Sie einen beliebigen Namen für die Verbindung ein und klicken Sie auf “Create”. Der Client für die Autorisierung wird erstellt.
Kopieren Sie die Felder “Client ID” und “Client Secret” in die entsprechenden Eingabefelder des FastReport VCL Autorisierungsdialogs.
Klicken Sie auf “Ok”. Im Standardbrowser sollte ein neues Fenster erscheinen. Sie werden aufgefordert, ein Konto für die Autorisierung auszuwählen.
Als nächstes wird eine Warnung angezeigt, dass die Anwendung nicht von Google verifiziert wurde. Klicken Sie auf “Advanced” und Go to Anwendungsname (unsafe).
Es wird ein weiterer Zugriffsdialog angezeigt. Wählen Sie die Zugriffsrechte aus und klicken Sie auf “Continue”.
Das Browserfenster kann geschlossen werden.
Wenn die Verbindung erfolgreich war, wird der FastReport VCL Standard-Datei-Browser angezeigt.
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.
Klicken Sie auf die Schaltfläche “Create New App”.
Wählen Sie den Anwendungstyp. Wir verwenden “Custom App”. Als nächstes müssen Sie die Autorisierungsmethode und den Namen der Anwendung angeben.
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".
Kopieren Sie die Werte der Felder "Client ID" und "Client Secret" in die entsprechenden Felder des FastReport VCL Autorisierungsdialogs.
Gehen Sie zurück zur Konfigurierungsseite im 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.
Klicken Sie auf die Schaltfläche “Save Changes”.
Gehen Sie zurück zum FastReport VCL Autorisierungsdialog und klicken Sie auf “Ok”.
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.
Der erste Schritt ist derselbe. Sie können ihn im Abschnitt Verbindung zu Dropbox oben finden. Konfigurieren wir die 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).
Klicken Sie auf die Schaltfläche “Register”. Unsere Anwendung wird erfolgreich erstellt.
Kopieren Sie den Wert des Feldes “Client ID” in den FastReport VCL Autorisierungsdialog. Öffnen Sie die Registerkarte “Certificates & secrets”.
Klicken Sie auf “New client secret”.
Geben Sie die Beschreibung ein und wählen Sie die Code-Laufzeit. Klicken sie auf “Add”.
Kopieren Sie den Wert “Value” in den FastReport VCL Autorisierungsdialog.
Klicken Sie auf “Ok”. Ein neues Fenster wird geöffnet, in dem Sie aufgefordert werden, sich bei Ihrem Konto anzumelden.
Nach der Autorisierung klicken Sie auf “Yes”.
Damit ist die Verbindungseinstellungen erfolgreich abgeschlossen. Jetzt wissen Sie, wie Sie sich mit jedem der Cloud-Laufwerke in der FastReport VCL verbinden können.