Я ищу правильный способ создать систему входа в систему в моем приложении для Android.
У меня уже есть учетные записи, хранящиеся в базе MySQL на моем VPS.
Я использую kotlin lang и Fuel http модуль.
Я искал образец базовой аутентификации в kotlin и контроллере в PHP.
Также, если вы знаете лучший способ включить аутентификацию для моего приложения, сообщите мне совет, учебник, пример!
PHP
<?php
$servername = "localhost";
$username = "root";
$password = "haslo";
$myDb ="users";
// Create connection
$conn = new mysqli($servername, $username, $password, $myDb);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}else{
//echo "dziala";
//print_r($_POST);
}
//echo $_POST['0'];
if($_POST[0]=='aa'&&$_POST[1]=='bb'){
//echo "Zalogowano!";
}
$conn->query("SET CHARACTER SET 'utf8'");
$conn->query("SET NAMES 'utf8'");
$sql = "SELECT * FROM `products` ";
$result = $conn->query($sql);
if($_POST[0]=='aa'&&$_POST[1]=='bb'){
foreach( $result->fetch_all(MYSQLI_ASSOC) as $r){
//echo $r['pid'];
echo json_encode($r);
}
}
//$pytanie = ' where imie like("%'.$_GET[osoba].'%")';
//$users = $mysql->wykonaj('select imie from dynamics.pracownik'.$pytanie);
//print_r($result);
//echo json_encode($r);
?>
Котлин
fun auth(user: User){
FuelManager.instance.baseParams = listOf("0" to user.login, "1" to user.password)
//FuelManager.instance.baseParams = listOf("password" to "1")
FuelManager.instance.basePath= "http://10.1.67.185/""plik.php/".httpPost().responseJson() { request, response, result ->
//make a GET to https://httpbin.org/get and do something with response
val (data, error) = result
if (error == null) {
//Log.d(TAG,"It works!")
Log.d(TAG,"Result\n ${result.get()} \n Result")
Log.d(TAG,"#Response \n $response \n#Response")
//Log.d(TAG,"Request \n $request \n Request")
} else {
//error handling
//Json = result.get().obj()
Log.d(TAG,"doesn't work")
}
}
}
затем
09-18 07:27:55.236 7486-7486/com.example.mkolbusz.intraservapp D/tag: Result
com.github.kittinunf.fuel.android.core.Json@77cbb7f
Result
[B@476b74c 09-18 07:27:55.238 7486-7486/com.example.mkolbusz.intraservapp D/tag: #Response
<-- 200 (http://10.1.67.185//plik.php/)
Response : OK
Length : 145
Body : (
{"pid":"1","name":"asdasd","price":"11.00","description":"sdafsdfsdf","created_at":"2018-09-17 11:39:12","updated_at":"0000-00-00 00:00:00"})
Headers : (11)
Connection : [Keep-Alive]
Content-Length : [145]
Content-Type : [text/html; charset=UTF-8]
Date : [Tue, 18 Sep 2018 07:27:55 GMT]
Keep-Alive : [timeout=5, max=100]
Server : [Apache/2.4.34 (Win32) OpenSSL/1.1.0i PHP/7.2.9]
X-Android-Received-Millis : [1537255674903]
X-Android-Response-Source : [NETWORK 200]
X-Android-Selected-Protocol : [http/1.1]
X-Android-Sent-Millis : [1537255674857]
X-Powered-By : [PHP/7.2.9]
#Response
Теперь думаю, как получить результат
Задача ещё не решена.
Других решений пока нет …