Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access the Project Server REST API using Azure AD App permissions?

I have a standalone web application (not an add-in) and I would like to access Project Server PWA oData from this web application without using the PWA username/password combination.

I can do this for SharePoint oData by registering my web app in Azure AD and configuring the application to require "Read" permissions from "Office 365 SharePoint Online"

If you are interested to do this for SharePoint data, see this article for details: https://www.itunity.com/article/integrating-angularjs-aad-office-365sharepoint-part-1-622

My problem is that I want to do the same for a Project Server, but can't see any relevant Project Online permission in Azure AD.

Has any one ever accessed Project Online using Azure AD tokens?

like image 343
whatsinaname Avatar asked Aug 01 '16 07:08

whatsinaname


People also ask

How do I give permission to an app in Azure?

Review application permissionsSign in to the Azure portal using one of the roles listed in the prerequisites section. Select Azure Active Directory, and then select Enterprise applications. Select the application that you want to restrict access to. Select Permissions.

How do I grant admin permission in Azure AD?

Enable the admin consent workflowSearch for and select Azure Active Directory. Select Enterprise applications. Under Manage, select User settings. Under Admin consent requests, select Yes for Users can request admin consent to apps they are unable to consent to .


1 Answers

My 10 Minutes of Internet Research™ leads me to believe this isn't available but that it was a planned feature at one point. [see here]

Without knowing much (anything) about Project Server, this seems like a situation I've dealt with on AWS at work. We have a bunch of endpoints that are secured using IAM (AWS) credentials and we can't leave those creds lying around in our app (because that would be silly). Our solution is to generate access URLs server-side and hand them out, these typically will have a time limit and be restricted to a very specific action.

A quick search for Azure's equivalent to IAM tells me that you might be able to do something similar though I'm unsure it exists for Project Server.

That failing, you could always set up an intermediary micro-service that acts as proxy and has the username/password combo. We do stuff like this all the time with Lambda (AWS's serverless functions).

like image 127
John Jones Avatar answered Sep 29 '22 14:09

John Jones