Azure Active Directory Management (Read/Write to AAD)
When you integrate Nintex K2 Five with SharePoint Online, you must consent permissions to the K2 for Office 365 app. In addition to SharePoint Online permissions, this app also requests read-only permissions to your Azure Active Directory (AAD). This permission, along with the SharePoint requested permissions, allows solutions to read data from AAD and read and write data to SharePoint Online. If you need to build solutions that write data to AAD, you must consent the write permission using the Azure Active Directory Management for K2 app. Use this topic to reconfigure your existing AAD service instance and consent to the Azure Active Directory Management for K2 app requested read and write permissions.
- Confirm the AADMGMT OAuth resource exists
- Rebind the AAD service instance to use the AADMGMT OAuth resource
- Consent to the Azure Active Directory Management for K2 app in your AAD tenant
Background
When the AAD service instance is configured against the K2 for Office 365 app, all SmartObject methods are exposed even though the underlying OAuth tokens and app do not expose AAD editing permissions by default. This means that it is possible to build a solution that attempts to use these edit methods, but those calls fail. Below is an example of the error received if you use an AAD-based SmartObject method that attempts to write data. In this example, the Update method of the User SmartObject is called. Notice in the error the message "Insufficient privileges to complete the operation."
When you integrate Nintex K2 Five with SharePoint Online, a resource called AADMGMT is created with your AAD tenant details as well as the parameters necessary to work with the Azure Active Directory Management for K2 app. You can find this resource using the Authentication > OAuth > Resources page in K2 Management.
- Find your AAD service instance using the Integration > Service Instances page in K2 Management. It's Service Type is Azure Active Directory.
- Select the AAD Service Instance and click “Edit”
- In the OAuth Resource Name drop down list, select the resource that begins with AADMGMT and followed by your tenant ID.
- After changing the OAuth resource and clicking OK, the following message appears:
This message appears because you've not consented using the Azure Active Directory Management for K2 app. Click OK to initiate the consent process with AAD. You must do this using an AAD Tenant Admin account and agree to the permissions requested on your tenancy. - Login with AAD Tenant Admin credentials when presented with the AAD login screen
- After logging in, click Accept in order to give the Azure Active Directory Management for K2 app Access the directory as the signed-in user and Read and write directory data permissions in your AAD tenancy.
- You then see a confirmation that your authorization is successful. If you do not see this message it means that the account you logged in with does not have sufficient privileges to grant the permissions requested.
You can close this tab and go back to K2 Management and click OK on the service instance configuration. - You can now use AAD SmartObject methods that update or write data to AAD.