Skip to main content

My first problem is that my rep told me to go ahead and sign up for our account a long time ago which I did. Now my 60 day free support is no longer available since I wasn’t ready to work on a full integration at that time. Its nearly impossible to get in touch with anyone now. 

The other issue is that I am having problems with permissions when i try to activate the oAuth. 

 

This is the error I get 

There was an error integration the Klaviyo account Ingram's Water and Air with Magento 2.

Missing required role resources for:

 Carts > Manage Carts

 Customers > Customer Groups

 Customers > All Customers

 Sales > Operations > Orders > Actions > View

 Stores > Attributes > Product

 Catalog > Inventory > Products

 Sales > Operations > Shipments

 Stores > Settings > All Stores

 Marketing > Communications > Newsletter Subscribers

 

how do I correct this issue

One of your team members was able to reached. Thankfully he was responsive. I had to dig through months of emails to find his contact info. He was not my primary contact but he took the initiative anyway. 


Were you able to solve this? if so, what was the issue?

The only way we have been able to resolve this is by initiating a resync of the historical data. It then seems to work for some time, then silently fails until someone notices and goes and does the historical resync. 

The silent fail is just terrible. 

We have many customers that do not have this trouble, but we have 1 or 2 that seem to regularly have this silent fail.

To me this would seem to be an error on the Klaviyo API request side. The error indicates, that Klaviyo is using OAuth 1.0 and simply not generating a new nonce when they get this nonce error.

If Klaviyo can just send the request using a bearer token as a stand alone token, instead of the OAuth tokens this would likely resolve for all versions of Magento.

For using this with Magento 2.4.4 and above the setting “Allow Oauth access tokens to be used as standalone bearer tokens” would be have allowed on Magento 2.

 


Were you able to solve this? if so, what was the issue?

The only way we have been able to resolve this is by initiating a resync of the historical data. It then seems to work for some time, then silently fails until someone notices and goes and does the historical resync. 

The silent fail is just terrible. 

We have many customers that do not have this trouble, but we have 1 or 2 that seem to regularly have this silent fail.

To me this would seem to be an error on the Klaviyo API request side. The error indicates, that Klaviyo is using OAuth 1.0 and simply not generating a new nonce when they get this nonce error.

If Klaviyo can just send the request using a bearer token as a stand alone token, instead of the OAuth tokens this would likely resolve for all versions of Magento.

For using this with Magento 2.4.4 and above the setting “Allow Oauth access tokens to be used as standalone bearer tokens” would be have allowed on Magento 2.

 

We did manage to get past this error only to get a new problem. Now Klaviyo wants permissions to everything in Magento and we can’t proceed like that due to security concerns. We are hoping that the Klaviyo team will offer up more solutions because so far nothing we have tried will fix the issue. Due to a time crunch we have to resolve the issue within the next 4 weeks or we will have to launch our redesigned Magento store with another partner instead of Klaviyo in order to not delay the launch of our new site. 


Hi @JarrodG!

I’m going to check on this with Engineering and update the thread shortly!

 

Best,

Brian


Ok I am getting this error when I toggle the errors to see more 

 "error_message": "{\"message\":\"The nonce is already being used by the consumer with ID %1\",\"parameters\":"\"9\"],\"trace\":\"#0 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/magento\\/framework\\/Oauth\\/Oauth.php(275): Magento\\\\Integration\\\\Model\\\\Oauth\\\\Nonce\\\\Generator->validateNonce()\\n#1 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/magento\\/framework\\/Oauth\\/Oauth.php(122): Magento\\\\Framework\\\\Oauth\\\\Oauth->_validateProtocolParams()\\n#2 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/magento\\/module-webapi\\/Model\\/Authorization\\/OauthUserContext.php(81): Magento\\\\Framework\\\\Oauth\\\\Oauth->validateAccessTokenRequest()\\n#3 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/magento\\/module-authorization\\/Model\\/CompositeUserContext.php(84): Magento\\\\Webapi\\\\Model\\\\Authorization\\\\OauthUserContext->getUserId()\\n#4 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/magento\\/module-authorization\\/Model\\/CompositeUserContext.php(71): Magento\\\\Authorization\\\\Model\\\\CompositeUserContext->getUserContext()\\n#5 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/amasty\\/module-advanced-permissions\\/Model\\/Authorization\\/GetCurrentUserFromContext.php(49): Magento\\\\Authorization\\\\Model\\\\CompositeUserContext->getUserType()\\n#6 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/amasty\\/module-advanced-permissions\\/Helper\\/Data.php(220): Amasty\\\\Rolepermissions\\\\Model\\\\Authorization\\\\GetCurrentUserFromContext->execute()\\n#7 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/amasty\\/module-advanced-permissions\\/Plugin\\/Framework\\/Model\\/ResourceModel\\/Db\\/Collection\\/AbstractCollection\\/RestrictAccess.php(39): Amasty\\\\Rolepermissions\\\\Helper\\\\Data->currentRule()\\n#8 \\/home\\/staging\\/deploy\\/releases\\/20230712125654\\/vendor\\/magento\\/framework\\/Interception\\/Interceptor.php(121): Amasty\\\\Rolepermissions\\\\Plugin\\\\Framework\\\\Model\\\\ResourceModel\\\\Db\\\\Collection\\\\AbstractCollection\\\\RestrictAccess->beforeLoad()\\n#9 \\/home\\/staging\\/depl"
        },


We tried deleting the integration and starting again but same error occurs


Hi @JarrodG!

I apologize for the delay here! I am still working with Support to determine the cause of this issue, as it appears to be account-specific.

 

Best,

Brian


Reply