cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
jamesbtech
Regular Visitor

How to add extra query parameter to authorization URL (OAuth2)

Hi,

I'm trying to connect to an API using OAuth2, that requires me to include an extra query parameter in the Authorization URL. Is there any way to do this in a flow custom connector?

If I manually include the parameter in the Authorization URL field, the resulting URL contains two "?", and is rejected by the API server.

Thanks!

James.

13 REPLIES 13

Hi @jamesbtech 

 

Can you please share more details on this? You say that you want to add an extra query parameter in the Authorisation URL, but on the custom connector, you can add any parameters while creating the action in the definitions section and leave the Authorisation URL in the security section as a simple static URL. Please see the documnetation below for the Custom Connector with the OAuth as authorisation. 

https://docs.microsoft.com/en-us/connectors/custom-connectors/azure-active-directory-authentication

 

Also, while adding parameters as queries in a url the format is something like this:

https://domainname.domain/path?usrname=testusr&pass=test123

here, path is the page you want to go to and "usrname" is a parameter that is a username and "&" separates the query parameters, "pass" is another parameter that is a password. 

 

Hope this Helps!

 

If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!

Thanks @yashag2255 .

The API I'm trying to authorize with requires the OAuth2 authorization URL to be of the following form:

https://the.api.server.com/oauth?type=web_server&client_id={client_id}&redirect_uri={redirect_uri}&scope={scope}&state={state}

The type parameter is required for this API (in this case, with string literal "web_server").

When creating the custom connector in Microsoft Flow, I can set the Authentication type to OAuth 2.0, and set the Identity Provider to Generic OAuth2. This allows the other authorization parameters to be set (client id, redirect url and scope). But there is no way to specify the extra type parameter.

If I append it to the Authorization URL (i.e. https://the.api.server.com/oauth?type_web_server), Microsoft Flow appends another "?" character before the other parameters. The second "?" results in the API server rejecting the authorisation request.

Does that make sense? It's quite possible I've missed something basic, as I'm very new to OAuth2.

I'm grateful for any help you can give in pointing me in the right direction. Thanks!

HI @jamesbtech 

 

Can you please try this out by creating a connector from the Postman file? Please refer to article for more reference: https://docs.microsoft.com/en-us/connectors/custom-connectors/define-postman-collection
 
I am afraid there is no direct way to achieve this currently because even if you pass a parameter in Authorization URL, it still considers it as the absolute URL with parameters and append the other available parameters.
 
Hope this Helps!
 
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!

@jamesbtech 

 

Were you able to resolve? 

rvaish
Advocate II
Advocate II

I'm running into the same issue. Need to provide a static url parameter as part of the authorization URL. Flow is inserting two questions marks. Is anyone else runniing into this issue or has a working solution?

AutomateZo
Advocate I
Advocate I

We have run into this same scenario for our app that we are trying to connect to .

 

Could you please let us know if a solution was found ?

Hi,

 

I am also facing same issue and trying ti figure out some solution. Please share if anyone found any solution.

 

Thanks & Regards

Kritika Singh

JacksonOng
Helper I
Helper I

Hi anyone have a solution to this? I need to add a parameter inside the auth URL as well, it works using www.postman.com 

JacksonOng_0-1620814797789.png 

JacksonOng_1-1620814876439.png

 

But putting the same Auth URL with Query Parameter, yields 2 question mark.

JacksonOng_2-1620815026281.png

 

JacksonOng
Helper I
Helper I

HI all,

 

Please vote for this feature to be included in next power automate update.

 

https://powerusers.microsoft.com/t5/Power-Automate-Ideas/Ability-to-add-an-extra-query-parameter-in-...

 

rakadakaka
Helper II
Helper II

Alternate solution to this problem :

 

You can use the http connector to call the getToken API , pass on all the required parameters to get the OAuth token from the respective authorization server and then you can use the token in the subsequent steps in your flow .

 

In the below example , I used http connector to get OAuth token from Azure Active directory . Please see the below screenshot :

 

rakadakaka_0-1627751409777.png

Similarly for the use case related to Zoho you can do it .

 

 

Hope the content above may help you.

Best Regards

If my solution helps, then please consider Accept it as the solution to help the other members find it more quickly.

HI @rakadakaka ,

 

I have tried this method. The main problem is that on the Authentication URL, there is a redirect URL and I can only get it during Authentication, the method you use is only available after getting the authentication. 

 

May I know how do you use it on the redirect Authentication?

rakadakaka
Helper II
Helper II

@JacksonOng  : There are different Grant Types available in OAuth2.0 . Instead of uisng "authorization_code" You should use "client_credentials" grant type flow , which is preferred for Server - Server automation back end type communication .

 

If the Authorization server does not support "client_credentials" grant type , then check if they support grant type of "implicit flow"/ "Password Grant" .  Or if they support any other way to generate OAuth2.0 token for non-interactive back end servers .

 

Preferred to use client_credentials over Implicit flow/Password Grant as it's more secure .

 

Please refer the link for OAuth 2.0 Grant Types : https://datatracker.ietf.org/doc/html/rfc6749

 

I see zoho has self client approach which should be used here .

 

"Use this method to generate the organization-specific grant token if your application does not have a domain and a redirect URL.You can also use this option when your application is a standalone server-side application performing a back-end job."

 

https://www.zoho.com/crm/developer/docs/api/v2/auth-request.html#self-client

 

Please let me know if more information is required .

If this helps , please accept this answer as solution .

@rakadakaka ,

 

Fantastic, thank you for teaching me more about Oauth2.0. I will try using this method. I think it will work. 

 

Thank you so much. 

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

New Ideas Forum MPA.jpg

A new place to submit your Ideas for Power Automate

Announcing a new way to share your feedback with the Power Automate Team.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

MPA Licensing.jpg

Ask your licensing questions at the Power Automate AMA!

Join Priya Kodukula and the licensing team, super users and MVPs to find answers to your questions on Power Automate licensing.

Users online (1,569)