Codeigniter не обрабатывает вопросительный знак в перенаправлении аутентификации Instagram - PullRequest
0 голосов
/ 07 января 2019

На моем веб-сайте я разрешаю пользователям связывать свои учетные записи в социальных сетях, но я заставляю пользователей сначала пройти аутентификацию через API социальных сетей, прежде чем я добавлю их имя пользователя.

Я использую API аутентификации Instagram в режиме песочницы на своем общедоступном сайте (не localhost), и отправка запроса авторизации не является проблемой, но код перенаправления из Instagram содержит знак вопроса, и я не могу правильно проанализировать сегменты URI из-за это ничего не отображается в сегментах URI после знака вопроса. Ниже приведены мои настройки.

URL-адрес в Instagram https://www.instagram.com/oauth/authorize/?client_id=7e9b6fabc5bb49e28d24e32a3232380b&redirect_uri=https://www.mywebsite.com/ig/complete&response_type=code.

URL перенаправления: https://www.mywebsite.com/ig/complete?code=def1efc5f494483a9286b2136e644999

Мой маршрут следующий:

$route['ig/complete?(.+)'] = "callback/ig_handle_response/$1";

Допустимые символы кофига:

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-+?';

Когда я печатаю _r массив сегментов, вывод будет Array ([1] => ig [2] => complete) , сегменты URI не содержат код, возвращенный из Instagram, выглядят как что-либо после того, как вопросительный знак игнорируется.

1 Ответ

0 голосов
/ 07 января 2019

Я решил проблему самостоятельно, получив строку query_string из URL.

$code = $this->input->server('QUERY_STRING', TRUE);

Результатом $ code является "code = 83339246a9c74501b9ffafe65aa222ff"

...