#php #javascript #json #authentication
#php #javascript #json #аутентификация
Вопрос:
Кто-нибудь может любезно рассказать мне, как использовать базовую аутентификацию JSON с использованием / в PHP?
Я получил некоторый вспомогательный код (как указано ниже), но не могу понять, как его использовать.
url = http://testerws.heroku.com/
POST url 'user_session.json',{:username => "admin",:password => "admin"}, :accept => 'application/json'
Я не уверен, является ли этот код правильным (в отношении синтаксиса) или нет. И я не могу понять, как использовать это в сочетании с PHP.
Поэтому, пожалуйста, помогите мне решить это, я в этом очень нуждаюсь.
Ответ №1:
Вы можете использовать curl php для публикации данных в формате json.
$json = json_encode($data);
$http_post_data = array("data" => $json);
$url = 'http://testerws.heroku.com/test.php';
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $http_post_data);
$result = curl_exec($ch);
curl_close($ch);
Затем test.php получит данные, которые вы публикуете. Вы можете выполнить аутентификацию самостоятельно и вернуться к вызывающему скрипту.
Но аутентификация не так проста для системы безопасности.
К вашему сведению.
http://blog.evernote.com/tech/2011/05/17/architectural-digest/
и прочитайте комментарий.
Ответ №2:
Каков контекст аутентификации? Если это веб-приложение, вы, вероятно, могли бы заполнить форму, опубликовать данные в формате JSON с помощью jQuery и расшифровать JSON на стороне PHP и проверить правильность. Не забудьте зашифровать информацию, которую вы отправляете из браузера. Имя пользователя и пароль в виде открытого текста вообще небезопасны.
Комментарии:
1. На самом деле я должен аутентифицироваться из веб-сервиса
2. И у них нет класса, который вы могли бы использовать? Большинство веб-сервисов предоставляют класс api для использования при работе с ним. Обратитесь к поставщику веб-услуг и посмотрите.