previous arrowprevious arrow
next arrownext arrow
PlayPause
previous arrownext arrow
Shadow

Wir realisieren Ihre CAD-Projekte

im AutoCAD, Inventor, Revit und Autodesk Forge Platform

Umfeld
Wir helfen Ihnen bei der Realisierung Ihrer Projekte.

Blog - CAD-Becker.de

Beiträge zu AutoCAD und dessen Vertikalprodukte.
Tipps und Tricks, viele Neuigkeiten aus der Autodesk Welt.
3 Minuten Lesezeit (550 Worte)

Autodesk Forge - Client-ID's, Client-Secret, Company Account ID. Wohin damit?

Anzeige

Aktuelle Top-Angebote der Telekom, Online-Vorteile, Attraktive Prämien

Um mit der Forge-Platform kommunizieren zu können, werden Zugangsdaten benötigt.

  • Company Account ID
  • ClientID,
  • Client Secret ID
  • Application-Name

Dieses Posting beschreibt wie diese sehr wichtigen und auch sicherheitsrelevanten Daten gespeichert werden können.

Claudius Peters - Forge Integration

​Zunächst ist es wichtig zu verstehen, dass zwischen einer Client-Anwendung und einer Server-Anwendung unterschieden werden muss. 

In der Client-Anwendung, hier eine Windows oder CAD-Anwendung, werden nur die Daten die die Server-Anwendung bereitstellt in einem Dialog dargestellt. Die gesamte Kommunikation mit der Forge-Platform geschieht ausschließlich in der Server-Anwendung. Diese Vorgehensweise ist aus sicherheitsrelevanter Sicht sehr wichtig, da alle Zugangsdaten NICHT der Client-Anwendung bekannt ist.

Das nebenstehende Bild verdeutlich diese Vorgehensweise.

Die gesamte Kommunikation mit der Forge Platform geschieht ausschließlich über einen Webservice, der in der eigenen Netzwerkumgebung des Unternehmens etabliert wird.

 Ablage der Zugangsdaten

Folgende Zugangsdaten müssen dem Webservice für die Kommunikation mit der Forge-Platform bekannt sein:
  • Client ID
  • Client Secret ID
  • Applikationsname
  • Company​ Account ID

Innerhalb einer Klasse - hard codiert - 

public static class Credentials
{
    <add key="CP.Forge.ClientID" value="[Your Client ID]"/>   
    <add key="CP.Forge.ClientSecret" value="[Your Client Secret ID]"/>
    <add key="CP.Forge.CompanyAccountID" value="[Your Company Account ID]"/>   
    <add key="CP.Forge.AppName" value="[Your Applikation Name]"/>  
    <add key="CP.Forge.CallBackUrl" value="[Your Callback URL]"/>   
}
 

 In einer öffentlichen statischen Klasse, innerhalb der Webservice Applikation, werden die Daten abgelegt.

Diese Vorgehensweise ist nicht optimal, wenn nicht sogar sicherheitstechnisch sehr bedenklich, da die Daten hard codiert wurden und somit sichtbar sind.

Also nicht zu empfehlen.

Innerhalb der web.config Datei definiert 

  <appSettings>
    <add key="CP.Forge.BaseURL" value="https://developer.api.autodesk.com"/>

    <add key="CP.Forge.Database.ServerName" value="[MS SQL-Server Name]"/>
    <add key="CP.Forge.Database.DataSource" value="[DataSource Name"/>
    
    <add key="CP.Forge.ClientID" value="[Your Client ID]"/>   
    <add key="CP.Forge.ClientSecret" value="[Your Client Secret ID]"/>
    <add key="CP.Forge.CompanyAccountID" value="[Your Company Account ID]"/>   
    <add key="CP.Forge.AppName" value="[Your Applikation Name]"/>  
    <add key="CP.Forge.CallBackUrl" value="[Your Callback URL]"/>  
    
  </appSettings> 

Eine sichere Methode, die Zugangsdaten für Ihren Forge-Account zu speichern, ist das Ablegen in die Web.Config Datei. Diese kann nicht einfach ausgelesen werden, dazu benötigt man einen Administrator-Zugang zu Ihrer Website Dateiablage. Diese ist in der Regel Passwort geschützt. 

In Ihrer Webservice-Anwendung kann folgender Code genutzt werden diese Daten auszulesen.

Immer noch bis zu einem gewissen Grad unsicher.

string m_ClientID =
    System.Configuration.ConfigurationManager.AppSettings["CP.Forge.ClientID"].ToString();
 

Speichern der Zugangsdaten in eine Datenbank 

Die Zugangsdaten können ebenfalls in eine Datenbank-Tabelle gespeichert werden. Wenn in dieser Tabelle der Applikationsame als Spalte hinzugefügt wird, kann in der Web-Anwendung danach gefiltert werden und unterschiedliche Zugangsdaten für mehrere Anwendungen genutzt werden. 

Da die Zugangsdaten zur Datenbank ebenfalls in der web.config Datei gespeichert werden, ist es möglich diese auszulesen, um somit Zugang zur Datenbank zu erhalten.

Verschlüsseln 

Die Zugangsdaten können mit einem im .Net zur Verfügung gestellten Verfahren verschlüsselt werden. Der dafür notwendige Schlüssel, wird dem Webservice vom Client genannt. Er wird auf der Clientseite gespeichert.

Wird der Web-Server gehackt, wird es ohne diesen Schlüssel schwer die Zugangsdaten zu knacken.

Allerdings: Plaudert jemand den Schlüssel aus, dann hilft auch der nicht. 

Im nächsten Posting zum Thema Forge Platform möchte ich den Accesstoken besprechen und erläutern wie er "gespeichert" werden kann.

 

Zusätzliche Information

  • Benötigen Sie Hilfe, dann helfe ich gerne. Sagen Sie einfach Bescheid. Meine Kontakte finden Sie über den Menüpunkt "Über uns".

Copyright

© Copyright 2019 by CAD-Becker.de

Navisworks - Einbetten einer Punktwolke -
Inventor - Abhängigkeiten analysieren -

Ähnliche Beiträge

 

By accepting you will be accessing a service provided by a third-party external to https://www.cad-becker.de/

Über mich

  Dipl.-Ing.
Jürgen A. Becker
Versorgungstechnik

 

 

Suchen

Abonniere Blog

Kontakt

Jürgen A. Becker

CAD-Becker.de
Detmolder Str. 786
33699 Bielefeld
Germany
Telefon
+49 (5202) 9953808 
Mobil
+49 170 870 8679
E-Mail
Juergen.Becker(at)CAD-Becker.de

Menu-de