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.
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
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?
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
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
But putting the same Auth URL with Query Parameter, yields 2 question mark.
HI all,
Please vote for this feature to be included in next power automate update.
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 :
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?
@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 .
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.