Der Wert von “Bearer realm” ist unsere Tenant ID. Der Wert von “client_id” enthält Ressourceninformationen, die wir ebenfalls im nächsten Schritt benötigen.
Hier nochmal eine kurze Zusammenfassung der benötigten Informationen, die wir gesammelt haben:
- Client Id: e9d11d84-1290-xxxx-b278-xxxba720f049
- Client Secret: 598CQuPcKUNxxxxxxxxxxxxx8+JftSNlg/qAX6eV4gI=
- Tenant Id: b3d594a3-b9ce-xxxx-9ef9-xxxxxxxxxxxx
- Resource: 00000003-0000-0ff1-ce00-000000000000
Mit diesen Informationen können wir über einen weiteren Web Request einen Access Token generieren. Der Access Token dient unserem Flow dann bei allen Web Requests als Authentifizierung.
Beziehen des Access Tokens
Es ist empfehlenswert den Request in Postman zu erstellen, um zu prüfen, ob er wie gewünscht funktioniert. Anschließend sollte der Request aber in Flow übernommen werden, da der Token nach einer gewissen Zeit abläuft und deshalb regelmäßig ein neuer Token angefragt werden muss.
Es handelt sich dieses Mal um einen POST Request, der an folgenden Endpunkt gesendet wird:
https://accounts.accesscontrol.windows.net/<TenantID>/tokens
/OAuth/2
Als Header wird der Key “Content-Type” mit dem Value “application/x-www-form-urlencoded” eingetragen.
Der Body ist etwas komplizierter. Während einige Werte direkt übertragen werden können, setzen sich andere Werte aus den weiter oben gesammelten Informationen zusammen.
Im Body Tab unseres Requests in Postman wählen wir zuerst den Radio Button “x-www-form-urlencoded” aus.
Anschließend gibt es vier Einträge:
Key = “grant-type“.
Value = “client_credentials“.
Key = “client_id“.
Der Value dieses Eintrags setzt sich nach folgendem Schema zusammen:
Client Id@Tenant Id
In diesem Beispiel also:
Value = “e9d11d84-1290-xxxx-b278-xxxba720f049@b3d594a3-b9ce-xxxx-9ef9-xxxxxxxxxxxx”
Key = “client_secret”
Value = “598CQuPcKUNxxxxxxxxxxxxx8+JftSNlg/qAX6eV4gI=” (das Client Secret des registrierten Add-Ins)
Key = “resource”
Der Value dieses Eintrags setzt sich nach folgendem Schema zusammen:
resource/SiteDomain@TenantId
In diesem Beispiel also:
Value = “00000003-0000-0ff1-ce00-000000000000/bsp.sharepoint.com@b3d594a3-b9ce-xxxx-9ef9-xxxxxxxxxxxx”
Ist alles eingetragen, kann der Request abgeschickt werden und liefert folgendes Ergebnis zurück: