Skip to content

adaptris/interlok-azure

Repository files navigation

interlok-azure

GitHub tag license Actions Status codecov CodeQL Known Vulnerabilities Closed PRs

The suggested name was didactic-chainsaw

Azure Setup

Requirements

  • Active Office365 subscription
  • An Azure Active Directory application with the necessary permissions granted.

It is worth remembering the following:

  • Daemon applications can work only in Azure AD tenants
  • As users cannot interact with daemon applications, incremental consent isn't possible

See here for an explanation.

Application Setup

  1. Register an application in the Azure Portal Application Registration

  2. Add a client secret so that the app can identify itself Client Secret

  3. Add the necessary permissions Permissions

Dependencies

List of library (JAR) dependencies:

  • Microsoft Azure
  • Microsoft Graph Core
  • Microsoft Graph
  • Nimbusds Jose JWT
  • Nimbusds oAauth2 OIDC SDK
  • Nimbusds Content-Type
  • Minidev JSON Smart
  • FasterXML Jackson Core
  • SquareUp OKHTTP
  • SquareUp OKIO
  • Google GSON

Email

Users require an Exchange mailbox to send/receive email, and this requires an Office365 subscription. The application ID, tenant ID, client secret and username are all required by Interlok and should match those given in the Azure portal. When sending mail a list of recipients is obviously necessary too.

Necessary Azure application permissions:

  • Mail.Read
  • Mail.ReadBasic
  • Mail.ReadBasic.All
  • Mail.ReadWrite
  • Mail.Send
  • User.Read
  • User.Read.All
  1. Ensure there is a user with an Exchange mailbox Users Setup

OneDrive

  • Files.Read.All
  • Files.ReadWrite.All
  • User.Read
  • User.Read.All

Many of the prerequisites are the same as for Email: the application ID, tenant ID, client secret and username are all required by Interlok and should match those given in the Azure portal.

In addition to a consumer and producer, there are also services for uploading/downloading documents, if it's necessary during the middle of a workflow.