Я установил OAuthProvider в Zend Framework2, следуя приведенным ниже инструкциям: https://toys.lerdorf.com/archives/55-Writing-an-OAuth-Provider-Service.html и здесь: http://www.lornajane.net/posts/2011/php-oauth-provider-request-tokens.
Как только я добавлю строку $this->provider->checkOAuthRequest();
Я получил плохой запрос:
400 неправильных запросов: oauth_problem = parameter_absent&oauth_parameters_absent = oauth_consumer_key% 26oauth_signature% 26oauth_nonce% 26oauth_timestamp
Мои заголовки следующие:
Авторизация:
OAuth oauth_consumer_key = «key», oauth_token = «qwerty», oauth_signature_method = «HMAC-SHA1», oauth_timestamp = «1453821463», oauth_nonce = «Iu5qXE», oauth_version = «zejeziii1ai171 1.07777 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0»
Все мои заголовки отображаются в заголовках запросов, и это не означает, что другие параметры отсутствуют, например version
или же oauth_token
Я пытался искать вокруг и продолжаю чесать голову, любая помощь приветствуется.
Спасибо.
Не уверен, поможет ли это другим, но я нашел проблему в своем решении:
Когда я создал OAuthProvider()
в первый раз (согласно документам) он кричал мне предоставить метод сигнатуры в конструкторе, что я и сделал. После нескольких дней, пока я ломал голову, пытаясь выяснить, почему это продолжало давать мне ошибки, я удалил параметр метода signature из конструктора, как указано выше.
После этого изменения все, казалось, решилось само собой. Я не уверен, почему это произошло, но теперь это не вызывает у меня ошибки, и устанавливает $ провайдер с его параметрами oauth.
Мой код:
$provider = new OAuthProvider();
$provider->consumerHandler(array($this,'lookupConsumer'));
$provider->timestampNonceHandler(array($this,'lookupNonce'));
$provider->tokenHandler(array($this,'lookupToken'));
$provider->setRequestTokenPath('/oauth/request-token');
$provider->checkOAuthRequest();
Других решений пока нет …