cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
AutomateZo
Advocate I
Advocate I

OAuth token not refreshing - Custom Connectors and Generic OAuth 2.0

Hi,

 

We have configured a Custom connector using the Generic OAuth 2 option for authentication. While the first time we are able to authenticate the connection and make the calls, once the access token has expired, it does not seem to refresh. We need to authenticate it again before we are able to use the flow again.

 

We are trying to connect it to a Zoho account. The access tokens will expire every one hour and a call needs to be made to the refresh url to get a new access token. The OAuth configuration seems to be right and is exactly as mentioned in examples.

 

3.SecurityForTrigger2.png

 

We were instructed to post this here by the PowerAutomate twitter handle.

 

We would appreciate any help we might get.

 

Thanks in advance!

14 REPLIES 14
RajKCBose
New Member

Me too facing the same issue. will you guys give us a solution as soon as possible?

Ruben_Ruiz
New Member

Do you resolved this problem ?

No. We couldn't solve this in Power Automate. We had to make changes in our end.

JacksonOng
Advocate I
Advocate I

Hi I am trying to do the exact same thing. The custom connection to zoho works well for 1st time connection, but refresh token URL is always empty even after I input it. 

 

I read below link, have any of you all tried this?

https://powerusers.microsoft.com/t5/Connecting-To-Data/Generic-Oauth-2-connector-not-refreshing-acce...

JacksonOng
Advocate I
Advocate I

Hi all,

 

I have been liaising with Zoho on this issue and found out that the issue is microsoft is not allowing for query string to be appended to Auth URL and Token URL. 

The Auth URL requires the query string access type in order to generate the refresh token : https://accounts.zoho.com/oauth/v2/auth?access_type=offline  

 

And the token URL, additional grant_type  to generate the refresh token : https://accounts.zoho.com/oauth/v2/token?grant_type=authorization_code

 

In microsoft the query string is not supported so therefore it generates a token without the refresh token. 

I have use postman to check it.

 

JacksonOng_0-1620964524972.pngJacksonOng_1-1620965080586.png

 

 

BenBlum
Frequent Visitor

Also having the same issue with my custom Zoho connector. Would appreciate if MS could offer a solution to this problem as it renders Power Automate totally useless for this.

Hi @BenBlum ,

 

I managed to solve this problem by using self client of Zoho API. If you are using Client Based application, the Auth Request will required an additional parameter "&access_type=offline" to get it to return the refresh token and because of that you are not getting the refresh token in power automate. 

JacksonOng_0-1635210496867.png

Please refer to this thread : https://powerusers.microsoft.com/t5/Connecting-To-Data/How-to-add-extra-query-parameter-to-authoriza... 

All thanks to @rakadakaka  for telling about the different Oauth Authentication method. 

So I just briefly describe to you the alternative steps to do it

1. Create A Self-Client in Zoho API

2. Use Postman to Generate a new Refresh token

JacksonOng_1-1635211033827.png

 

3. Using the refresh token generated in Post man, manually get the Access token

JacksonOng_2-1635211115771.png

4. Use the new access token, to make API request, pls replace the Authorization with the access token. 

JacksonOng_3-1635211203464.png

JacksonOng_4-1635211278607.png

 

 

 

In Order to do this, you need to understand the whole authentication process in using Self Client. The best place to test it is using postman. You need to make authentication and refresh token via Http Request instead of via Authorization in postman.  

JacksonOng_6-1635211554797.png

 

 @JacksonOng  Thank you very much for the detailed reply and solution, I now understand the underlying issue and how to work around it given the current limitations with the built in oath implementation.

I just to clarify one detail, when using the self client method and adding the authorization header manually using a policy, I assume with this setup you would then just turn off the built in security\authentication, correct?

JacksonOng
Advocate I
Advocate I

@BenBlum , there are multiple ways to get around it, one way is to use http request inside power automate, but I have many different API, so what I do is to use 2 custom connector for zoho, one for Authentication (to use to refresh token to get a new access token), the other connector will just do the job of making api Query. 

 

For the Connector making the API call, you need to put a Parameter in the header, and replace it as Authorization each time a request is make. Pls see below pic. 

JacksonOng_0-1635293433804.png

Setup a new policy

JacksonOng_1-1635293497509.png

When making Query be sure to add "Zoho-oauthtoken" in front of ur access token

JacksonOng_2-1635293540501.png

 

 

JacksonOng
Advocate I
Advocate I

@BenBlum , yup u r right. You should be using no Autentication for the self client and authentication. The Authentication is basically just making http request to zoho token url to get a new token using the refresh token.

 

JacksonOng_3-1635293717480.png

JacksonOng_4-1635293801896.png

JacksonOng_5-1635293862328.png

 

@JacksonOng thanks again, everything is working perfectly now! I ended up doing the same thing, creating two connectors one just for auth that I call at the beginning of my flow and store the auth code in a variable then pass it to each of the actual calls to zoho api in the other custom connector.  

Hello, I tried your solution. Can you help? It's not overriding the header

q3.jpgq2.jpgq1.jpg

@zmansuri , happy new year to you. from the pic you share, it seems you do not have understanding of your Oauth in Zoho. You are using an Zoho Token on an Azure API. I cant really help much on this if you do not understand the Oauth that you are working on.

 

My advise is to start off with using postman.com and see how the authentication works. Then relook at the steps I share earlier with others. There are a few available authentication method in Zoho for Power automate you can use both Client Credential or Self-Client. If you are developing server application, use only Self-Client. You must be able to successfully authenticate in Postman and also successful in doing a post or get before you attempt to create ur own custom connector in Power automate. 

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Users online (1,756)