-
Notifications
You must be signed in to change notification settings - Fork 9.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[API] OAuth1.0 request token request failing / Consumer key has expired #829
Comments
Digging into this I found the following. So I went as fast as possible, creating a new integration, copy&pasting the credentials, and testing. This is what I got from some debug prints in https://github.com/magento/magento2/blob/master/app/code/Magento/Integration/Model/Oauth/Token/Provider.php#L68:
This seems to be partially a timezone offset issue at some stage here, If I'm seeing this correctly, |
Setting the expiration time in the backend sufficiently high to account for the timezone offset,
IF the Integration is activated, has an access token + secret already, the message is this:
I really do not know what this one is trying to tell me (consumer token??). |
Thank you for reporting the issue. We are currently looking into it and will get back as soon as we have any updates. |
Some additional notes: This is not true at present, if it is the intended behavior. The consumer credentials will expire whether used or not. Also, if the timeout value is increased by enough time, after a key has already expired, it will be active again. That's probably unexpected behavior. Thanks for looking into it. |
@nyov Please check out the latest code. We have pushed fixes to mitigate the Oauth consumer expiry issue. There are additional fixes for returning the correct HTTP response codes for Oauth related failures as well. We have noticed some discrepancy in devdocs and are working on fixing it. |
* Various improvements: * Updated Copyright Notice and provided reference to the license file * Updated test framework to support stores other than default * Removed version information from theme.xml files leaving it only in composer.json files * Fixed bugs: * Fixed an issue where coupon code was reported to be invalid if it has been removed from reorder in backend and then re-applied * Fixed an issue where the 'Guide to Using Sample Data' link was incorrect in the web setup UI * Fixed an issue where the link to System Requirements in bootstrap.php was incorrect * Fixed an issue where Compiler could not verify case sensitive dependency * Fixed an issue where the Recently Compared Products and Recently Viewed Products widgets were not displayed in sidebars * Fixed an issue where the Orders and Returns widget type contained unnecessary tab * Fixed an issue where an image added to a CMS page using the WYSIWYG editor was displayed as a broken link after turning off the allow_url_fopen parameter in php.ini * Fixed an issue where it was impossible to log in to the backend from the first attempt after changing Base URL * Fixed an issue where it was impossible to set back the default English (United States) interface locale for the admin user after changing it so an other value * Fixed an issue where it was possible to execute malicious JavaScript code in the context of website via the Sender Email parameter * Fixed an issue where the Product Stock Alert email was sent to a customer from a store view different than a customer account was created in * Fixed an issue where the "Server cannot understand Accept HTTP header media type" error message was not informative enough * Fixed an issue where unit tests did not work as expected after installing Magento 2 * Fixed an issue where the password change email notification was sent after saving admin account settings even if password was not changed * Fixed an issue where static tests failed as a result of adding API functional tests * Fixed API functional tests after merging pull request [#927](magento/magento2#927) * Fixed an issue where the Edit button was present for invoiced orders * Fixed an issue where function _underscore did not work with keys like SKeyName ('s_key_name') * Fixed an issue where a fatal error occurred when browsing categories if web server did not have write permissions for media/catalog/product * Github requests: * [#792](magento/magento2#792) -- Failed to set ini option "session.save_path" to value * [#796](magento/magento2#796) -- install.log cannot be created with open_basedir restriction * [#823](magento/magento2#823) -- Installation bug * [#920](magento/magento2#920) -- "web setup wizard is not accessible" error message but the setup wizard is actually accessible * [#829](magento/magento2#829) -- [API] OAuth1.0 request token request failing / Consumer key has expired * [#658](magento/magento2#658) -- Inline translate malfunctioning * [#950](magento/magento2#950) -- Fix for the missed trailing end of line in indexer.php usage help text * [#932](magento/magento2#932) -- Migration tool - not all input has comments * [#959](magento/magento2#959) -- Replace UTF8 'en dash' with minus in error message * [#911](magento/magento2#911) -- Fix test assertion and slight cleanup refactoring * [#936](magento/magento2#936) -- Bugfix for regions with single quote in name * [#902](magento/magento2#902) -- Add integration test for View\Page\Config\Reader\Html * [#925](magento/magento2#925) -- Failed test due to Class not following the naming conventions * [#943](magento/magento2#943) -- magento2-925 Failed Test due to Class not following the naming conventions * [#968](magento/magento2#968) -- Apply pattern matching datasource config files * [#949](magento/magento2#949) -- Added 'status' command for cache cli script / Also improved readability * PHP 5.6 in composer.json: * Added PHP 5.6.0 to the list of required PHP versions in all composer.json files * Updated Travis CI configuration to include PHP 5.6 builds * Framework improvements: * Removed TODOs in the Integration and Authorization modules * Removed leading backslash from the 'use' statement throughout the code base
* Various improvements: * Updated Copyright Notice and provided reference to the license file * Updated test framework to support stores other than default * Removed version information from theme.xml files leaving it only in composer.json files * Fixed bugs: * Fixed an issue where coupon code was reported to be invalid if it has been removed from reorder in backend and then re-applied * Fixed an issue where the 'Guide to Using Sample Data' link was incorrect in the web setup UI * Fixed an issue where the link to System Requirements in bootstrap.php was incorrect * Fixed an issue where Compiler could not verify case sensitive dependency * Fixed an issue where the Recently Compared Products and Recently Viewed Products widgets were not displayed in sidebars * Fixed an issue where the Orders and Returns widget type contained unnecessary tab * Fixed an issue where an image added to a CMS page using the WYSIWYG editor was displayed as a broken link after turning off the allow_url_fopen parameter in php.ini * Fixed an issue where it was impossible to log in to the backend from the first attempt after changing Base URL * Fixed an issue where it was impossible to set back the default English (United States) interface locale for the admin user after changing it so an other value * Fixed an issue where it was possible to execute malicious JavaScript code in the context of website via the Sender Email parameter * Fixed an issue where the Product Stock Alert email was sent to a customer from a store view different than a customer account was created in * Fixed an issue where the "Server cannot understand Accept HTTP header media type" error message was not informative enough * Fixed an issue where unit tests did not work as expected after installing Magento 2 * Fixed an issue where the password change email notification was sent after saving admin account settings even if password was not changed * Fixed an issue where static tests failed as a result of adding API functional tests * Fixed API functional tests after merging pull request [#927](magento/magento2#927) * Fixed an issue where the Edit button was present for invoiced orders * Fixed an issue where function _underscore did not work with keys like SKeyName ('s_key_name') * Fixed an issue where a fatal error occurred when browsing categories if web server did not have write permissions for media/catalog/product * Github requests: * [#792](magento/magento2#792) -- Failed to set ini option "session.save_path" to value * [#796](magento/magento2#796) -- install.log cannot be created with open_basedir restriction * [#823](magento/magento2#823) -- Installation bug * [#920](magento/magento2#920) -- "web setup wizard is not accessible" error message but the setup wizard is actually accessible * [#829](magento/magento2#829) -- [API] OAuth1.0 request token request failing / Consumer key has expired * [#658](magento/magento2#658) -- Inline translate malfunctioning * [#950](magento/magento2#950) -- Fix for the missed trailing end of line in indexer.php usage help text * [#932](magento/magento2#932) -- Migration tool - not all input has comments * [#959](magento/magento2#959) -- Replace UTF8 'en dash' with minus in error message * [#911](magento/magento2#911) -- Fix test assertion and slight cleanup refactoring * [#936](magento/magento2#936) -- Bugfix for regions with single quote in name * [#902](magento/magento2#902) -- Add integration test for View\Page\Config\Reader\Html * [#925](magento/magento2#925) -- Failed test due to Class not following the naming conventions * [#943](magento/magento2#943) -- magento2-925 Failed Test due to Class not following the naming conventions * [#968](magento/magento2#968) -- Apply pattern matching datasource config files * [#949](magento/magento2#949) -- Added 'status' command for cache cli script / Also improved readability * PHP 5.6 in composer.json: * Added PHP 5.6.0 to the list of required PHP versions in all composer.json files * Updated Travis CI configuration to include PHP 5.6 builds * Framework improvements: * Removed TODOs in the Integration and Authorization modules * Removed leading backslash from the 'use' statement throughout the code base
Closing based on @anupdugar comment. |
I tried the same thing,
Exception in thread "main" org.scribe.exceptions.OAuthException: Response body is incorrect. Can't extract token and secret from this: 'oauth_problem=Cannot+create+request+token+because+consumer+token+is+not+a+verifier+token' Can someone help to identify the root cause and the possible rectification? |
Hello, After many hours of searching, I couldn't find a solution to get it working. I have the exactly same issue as @nyov . I'm using Magento 2.2.3. I created a freshly integration, copie/paste my consumer key/secret and tried to get an access token. I get all the time a 401 error with : oauth_problem=Consumer+key+has+expired. Is it fixed in 2.2.3 ? I guess yes. I don't understand what's wrong. Thank you for your feed-back. |
As a note from myself; I've stopped working with Magento2 since, so didn't have a chance to re-check on this issue. I can't say whether it was resolved. Sorry. |
Well, thank you @nyov for your reply ;) |
@Lapinou42 check |
…gento#829 - Merge Pull Request magento/graphql-ce#829 from TomashKhamlai/graphql-ce:downloadable-folder - Merged commits: 1. 6eccaad
While trying to go the long route and get an OAuth1.0 request token via
POST /oauth/token/request
(as explained in the devdocs) I'm having these issues.I tested these with both (and getting the same results)
Variant 1, using POST body:
The server returns a
HTTP/1.1 500 Internal Server Error
.tcpdump:
Unquoted:
oauth_problem=internal_error&message=Notice:+Undefined+index:+oauth_version+in+/this/is/some/private/path/magento2.git/lib/internal/Magento/Framework/Oauth/Oauth.php+on+line+63
https://github.com/magento/magento2/blob/master/lib/internal/Magento/Framework/Oauth/Oauth.php#L63
That line checks for
$params['oauth_version']
, but as the dump should show the param is included.I concluded that Magento2 is now exclusively checking
Authorization
headers instead.Variant 2, using Authorization Headers:
The server returns a
HTTP/1.1 401 Unauthorized
message.tcpdump:
(Consumer key has expired)
This seems to be the real issue here, the expiration time check.
Of course I verified that I'm actually sending the consumer key&secret as displayed in the backend.
As an aside, the library used to build the OAuth requests is mature (and working with magento1).
The text was updated successfully, but these errors were encountered: