Skip to main content

Notifications

Generate an Azure OAuth2.0 Token from a "service" Flow and keep your Flows simple

My previous post illustrated how to use the Microsoft Graph in your Flows without having to create a custom connector/server side code. My favorite server side code is an Azure function written in PowerShell or in C# ( I know I should try Node.js).

One of the challenge of using the Microsoft Graph is we need to get an Azure/oAuth2.0 access token (see last post).

To make it easier and reusable, I decided to isolate the access token generation code in what I call a "Service Flow", which is a Flow that can be invoked via the Http flow action and can return a value + a status if needed (it can also be a fire and forget service flow if we not interested in any return value.

The Flow must start with the "When a HTTP request is received" action and can be ended with the Response action (renamed here as "Return Access Token'.

serviceFlowaccesstoken

 

Let's get into the detail :

 

httprequest
 
The associated schema is :
 

serviceworkflowschema

 

The Access token generation :

 

generate access token

 

Parsing the returned values:

 

parsevalues

 

The associated schema is here :

 

parsschema

 

And the access token is returned here:

 

returnhttp

 

Now the calling workflow (described in my previous post) looks like this:

 

simplifiedversionofgroupsHighlevel

 

The call to the ServiceFlow is detailed here:

 

simplifiedversionofgroups

 

I think it is a good practice to create reusable services with Microsoft Flow. Of course in many cases an Azure function will be good enough, but in some companies it is not that easy to have an Azure account or it is complicated to use this Azure account as a developer, so we must use the tools we have at our disposal 🙂

Comments

*This post is locked for comments

  • vnguyen1 Profile Picture vnguyen1 40
    Posted at
    Generate an Azure OAuth2.0 Token from a "service" Flow and keep your Flows simple

    after getting the access_token from the Get call for the 1st HTTP call. I tried to put the bearer token in header of HTTP call, it is error out with non authorized error message. i also try to put in the body, it failed too.  any ideas how to send this bearer token access in Get call. Thanks

  • Generate an Azure OAuth2.0 Token from a "service" Flow and keep your Flows simple

    Hi Team,

     

    I have a requirement that needs to connect an application deployed at Azure from Microsoft Flow. I am using the below reference for the same:

     

    https://powerusers.microsoft.com/t5/Microsoft-Flow-Community-Blog/Generate-an-Azure-OAuth2-0-Token-from-a-quot-service-quot-Flow/ba-p/61979

     

    I am using grant_type=client_credentials along with the parameters required like client_id, client_secret and resource.

     

    The issue I was facing is: The Bearer token I am getting in above step is not able to call the api that I need. Please find below screen shots of my flow for your understanding:

     

     Capture1.PNG

     

    From the above step I am getting the Bearer token, I am using this Bearer token to call the rest service.

     

     Capture2.PNG

    But I am getting an error that Access Denied Error.

     Capture6.PNG

     

     

    Capture5.PNG

     

    My question is to use grant_type=client_credentials, Is there anything I need to setup at Azure level?

     

    Thanks in advance.

     

    Giridhar