Я интегрирую Asana OAuth2, используя https://packagist.org/packages/ajimix/asana-api-php-class
Когда я настраиваю свое приложение на Asana и использую внутренний URL, такой как https: // интрасеть, мой редирект всегда терпит неудачу с
invalid_request: The `redirect_uri` parameter does not match a valid url for the application
Тем не менее, когда я использую любой общедоступный URL, такой как https://www.domainname.com оно работает. Затем я могу добавить параметр кода на мою внутреннюю страницу.
Есть ли способ использовать внутренний URL, т.е. тот, который не на общедоступном DNS?
Я адвокат разработчика для Асаны. Интуитивно я не думал, что у вас возникнут какие-либо трудности с доступом к перенаправлению просто потому, что это перенаправление — мы вообще не пытаемся получить доступ к URL-адресу, а скорее говорим вашему браузеру перенаправить на этот URL-адрес, содержащий разрешение на доступ к Asana , Если ваш браузер может переходить по этому URL-адресу, когда вы просматриваете, ваш браузер может переходить по этому URL-адресу, когда ему поручено перенаправление, верно? Так что я посмотрел на всякий случай.
Этот конкретный код ошибки отправляется обратно, когда мы сравниваем URL-адрес перенаправления, который вы предоставляете для своего приложения OAuth, с тем, который вы зарегистрировали при создании приложения, т.е. ваши учетные данные сравниваются с белым списком местоположений (длиной 1, но что белый список? whitevalue?) это нормально для перенаправления. Если при попытке авторизации ваш URL-адрес не соответствует этому значению, мы возвращаем эту ошибку, и не похоже, что эта конкретная ошибка связана с более глубокой проверкой ошибок (мы не пытаемся пропинговать ваше местоположение перенаправления).
Я думаю, что здесь может происходить то, что вы зарегистрировали свое приложение OAuth на Asana как перенаправление на определенный URL, и когда вы пингуете https://app.asana.com/-/oauth_authorize
конечная точка, вы передаете другой URL в redirect_uri
пары. Поскольку оно не соответствует тому, для которого вы зарегистрировали свое приложение, мы отправляем эту ошибку обратно. (Это то, что мы имеем в виду, когда говорим «URI для перенаправления в случае успеха или ошибки. Это должно соответствовать URL перенаправления, указанному в настройках приложения.» При описании рабочего процесса OAuth Вот.
В этом случае вы можете либо изменить URL-адрес перенаправления для своего приложения, либо зарегистрировать новое приложение OAuth, которое использует URL-адрес интрасети и использовать эти учетные данные для авторизации в Asana.
Я надеюсь, что это является основной причиной, но если это не так (если URL, зарегистрированный в Asana, и вы действительно передаете тот же самый при попытке авторизации), обязательно сообщите нам, и я нырну Глубже!
-Matt
Других решений пока нет …