У меня есть приложение, которое работает с цифрами в качестве аутентификации.
Клиентская сторона работает отлично, но я не могу выполнить аутентификацию пользователя сервера через oAuth.
Мой сервер разработан с Laravel, так что это PHP.
Моя конечная точка находится под https, поэтому все должно быть готово сделать звонок.
Я решил сам!
Вот код, который правильно выполняет аутентификацию с помощью Digits O-Auth.
Функция, которая выполняет аутентификацию, находится внутри класса AuthManager, и я вызываю следующим образом:
$obj = AuthManager::verifyUser($request->header('X-Auth-Service-Provider'),$request->header("X-Verify-Credentials-Authorization"));
И вот функция, которая делает волшебство:
public static function verifyUser ($xAuthServiceProvider, $xVerifyCredentialsAuthorization)
{
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL, $xAuthServiceProvider);
curl_setopt($curl,CURLOPT_HTTPHEADER, array(
'Content-length: 0',
'Content-type: application/json',
'Authorization: '.$xVerifyCredentialsAuthorization,
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
$obj = json_decode($content, true);
return $obj;
}
Если у вас есть какие-либо проблемы, не стесняйтесь писать здесь!
РЕДАКТИРОВАТЬ НА ПРИМЕРЕ ФУНКЦИИ О КАК ПОЛУЧИТЬ ДАННЫЕ ОТ O-AUTH
public function authenticate (Request $request)
{
$obj = AuthManager::verifyUser($request->header('X-Auth-Service-Provider'),$request->header("X-Verify-Credentials-Authorization"));
if(isset($obj["errors"]))
{
return "error!";
}
$digits_token = $obj["access_token"]["token"];
$digitsId = $obj["id"];
/*
the variables above are returned by O-auth server-server authentication
*/
}
Других решений пока нет …