Reply
Frequent Visitor
Posts: 10
Registered: ‎03-03-2017

OAuth ClientCredential flow

Hi,

Oauth 2 allows for several flows, does anyone know if the clientCredentials flow is supported. All documentation i have seen requires a call back URI. Business to business apps should be allowed follow the clientcredential flow.
Highlighted
Member
Posts: 69
Registered: ‎11-11-2015

Re: OAuth ClientCredential flow

I assume your question is whether client credentials flow supported in the Power BI REST API.

 

If that is the question, the answer is a bit complicated. You can register your application with Azure AD along a public/private key pair which would make it possible for your application to go through the client credentials obtain an app-only token as opposed to a user-specific token.

 

The real issue is that the Power BI REST API only supports delegated permissions but does not support any application permissions. That means user tokens have the ability to make authroized calls to the Power BI REST API but app-only tokens do not. Unless the set of permissions supported by the Power BI REST API are extended to include application permissions, there is no value in acquiring an app-only token with the client credentials flow.

Frequent Visitor
Posts: 2
Registered: ‎04-12-2017

Re: OAuth ClientCredential flow

I'm hoping this may be of use - I had ocassion to get data for a customer from the graph API on the Azure B2C service and I needed to use Oauth 2.0 to authenticate to get this data.

I achieved this by using a simple azure function the take a clientID and secret and perform the OAuth get token and submit token in the azure function - so a single call to the function gets the graph api data protected by Oauth 2.0.

 

The code is in Node.js which is natively supported in azure functions and I guess you could host it elsewhere if you required.

See https://github.com/djburnham/graph-api-azure-fn-proxy for the code.

 

I hope this helps.

 

Kind regards,

                          David.

 

BTW I included my voice in the requests to the dev team to include this functionality in the PowerBi product.