Veröffentlicht am :
Verwaltung CREATION_INTERNE

OneDrive-Authentifizierung über OAuth2 einrichten

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Dieses Skript initiiert ein interaktives OAuth2-Authentifizierungsverfahren für eine Microsoft 365-Anwendung. Es erstellt eine Autorisierungs-URL, die der Benutzer in einem Browser öffnen muss. Nach der Anmeldung und Zustimmung ruft der Benutzer einen Autorisierungscode von der Umleitungs-URL ab. Dieser Code wird dann von dem Makro `%get_token` verwendet, um ein Zugriffs- und ein Aktualisierungstoken anzufordern, die in einer Datei `token.json` für spätere nicht-interaktive API-Aufrufe gespeichert werden.
Datenanalyse

Type : CREATION_INTERNE


Das Skript liest keine Daten zur Analyse. Sein Zweck ist es, eine Konfigurationsdatei (`token.json`) zu generieren, die die Authentifizierungstoken enthält. Es hängt von externen SAS-Konfigurationsdateien (`onedrive_config.sas`) und Makros (`onedrive_macros.sas`) ab, die am angegebenen Pfad existieren müssen.

1 Codeblock
Macro
Erklärung :
Dieser Block initialisiert eine Makrovariable `config_root`, die auf das Projektverzeichnis verweist. Anschließend werden zwei externe SAS-Dateien eingebunden: `onedrive_config.sas` (wahrscheinlich für Anwendungsanmeldeinformationen) und `onedrive_macros.sas` (enthält die Makrologik). Schließlich wird ein Fileref `token` der zukünftigen JSON-Datei zugewiesen, die die Token speichern wird.
Kopiert!
1/*
2 This file contains steps that you perform just once to
3 set up a new project. You'll use these steps to get an
4 access code and your initial authentication tokens.
5 
6 You might need to repeat this step later if your
7 Microsoft Office 365 credentials change (including password)
8 or if the tokens are revoked by using another method.
9 
10*/
11%let config_root=/folders/myfolders/onedrive;
12 
13%include "&config_root./onedrive_config.sas";
14%include "&config_root./onedrive_macros.sas";
15 
16/*
17Our json file that contains the oauth token information
18*/
19filename token "&config_root./token.json";
2 Codeblock
Macro
Erklärung :
Aufbau der OAuth2-Autorisierungs-URL unter Verwendung von Makrovariablen (wie `tenant_id`, `client_id`), die in `onedrive_config.sas` definiert sind. Die Funktion `%nrstr` wird verwendet, um Sonderzeichen in der URL zu maskieren. Die URL wird dann im SAS-Log angezeigt, damit der Benutzer sie kopieren kann.
Kopiert!
1/* Do these steps JUST ONCE, interactively,
2 for your application and user account.
3 
4 Get the code from the URL in the browser and set it below
5 as the value of auth_code.
6 
7 The authorization code is going to be a LONG character value.
8*/
9 
10/* Run this line to build the authorization URL */
11%let authorize_url=https://login.microsoftonline.com/&tenant_id./oauth2/authorize?client_id=&client_id.%nrstr(&response_type)=code%nrstr(&redirect_uri)=&redirect_uri.%nrstr(&resource)=&resource.;
12options nosource;
13%put Paste this URL into your web browser:;
14%put -- START -------;
15%put &authorize_url;
16%put ---END ---------;
17options SOURCE;
3 Codeblock
Macro Data
Erklärung :
Dieser Block ist zur Ausführung nach dem manuellen Schritt vorgesehen. Der Benutzer muss den vom Browser erhaltenen Autorisierungscode in die Makrovariable `auth_code` einfügen. Anschließend wird das Makro `%get_token` aufgerufen. Es sendet diesen Code (und andere Parameter) an die Microsoft-API, um die Zugriffs- und Aktualisierungstoken zu erhalten, und schreibt diese Token dann über den Fileref `token` in die Datei `token.json`.
Kopiert!
1/*
2 Copy the value of the authorize_url into a web browser.
3 Log into your OneDrive account as necessary.
4 The browser will redirect to a new address.
5 Copy the auth_code value from that address into the following
6 macro variable. Then run the next two lines (including %get_token macro).
7 
8 Note: this code can be quite long -- 700+ characters.
9*/
10%let auth_code=;
11 
12/*
13 Now that we have an authorization code we can get the access token
14 This step will write the tokens.json file that we can use in our
15 production programs.
16*/
17%get_token(&client_id.,&auth_code,&resource.,token,tenant=&tenant_id,debug=3);
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Banner
Expertenrat
Expert
Simon
Expert SAS et fondateur.
« Die Einrichtung der OAuth2-Authentifizierung ist der entscheidende Schritt, um eine moderne, sichere Verbindung zwischen SAS und Cloud-Diensten wie OneDrive oder SharePoint herzustellen. Dieses Skript automatisiert den Prozess der „Benutzerzustimmung“ (Consent) und transformiert eine einmalige manuelle Interaktion im Browser in ein dauerhaft nutzbares Token (token.json). Dies ist die sicherste Methode, da keine Passwörter im Klartext im Code gespeichert werden müssen. »