fikir vermesi açısından : http://www.tahribat.com/forum/php-rest-api-guvenligi-nasil-saglanir--217724

JWT kullanmayı ğrenmek lazım. Session yok, bu yüzden depolamaya da gerek yok . Sadece secret-key'in güvenliğini sağlamak yeterli. Olaylara karışmayın!

Localstorage de tutabilirsin. Çıkışta temizler tokenı db den silersin Evet bu işimi grdü hocam sağol. 3-4 saattir okuyorum da kafam allak bullak oldu. Şu konuda birileri aydınlatsa fena olmayacak. OAuth, OAuth2, HttpBasicAuthentication, JWT gibi terimler var. Benim kullandığım hangisine giriyor, onu da bilmemekle beraber hangisi iyidir, hangisi ktüdür? Sonuç olarak, HTTPS ile haberleşince user gidip api_key' ini başkalarıyla share etmezse bi sıkıntı çıkmayacak dimi? @Genki sağol hocam, bakıyorum ona da. ozgunlu tarafından 21/Nis/16 16:10 tarihinde düzenlenmiştir Hello, i am nothing. I come from Neverland.

Rest api' lerde oturum ynetimi nasıl oluyor? Login için bir tane '/userlogin' diye birşey var. Veritabanında da api key adında bir parametre tutuyor, user login olduktan sonra api key bilgisini user' a json olarak gnderiyor. sonra herhangi bir get isteğinde bu api key' i HEADER' a ekleyip gnderiyor ve ordan veritabanındakiyle kontrol ediyor. eğer yoksa authorization vermiyor. şimdi normalde SESSION' lar ile yapıyorduk ama burda restful stateless. Client' a login olduktan sonra verdiği api key' i nerde saklayabilirim? Bir de nasıl logout ettirebilirim -heralde o sakladığım api key' i kaldırmam yetecek. Ama nerede tutacağımı bilmiyorum. Kullanıcı LOGOUT olana kadar bu api_key ile işlemlerini grücem, o yüzden client side da güvenli şekilde tutmam gerekiyor. Bu arada rnek olsun diye kod parçalarını koyuyorum : -- Rest api LOGIN $app->post('/userlogin', function use { verifyRequiredParams(array ; $email = $app->request->post ; $password = $app->request->post ; $objUserRegLog = new UserRegistrationLogin; $result = $objUserRegLog->getUserByEmailAndPassword ; if else echoResponse(200, $response); }); -- Sign In AJAX CALL : $. signin = function { var inputVals = $ . serialize ; $. ajax({ url : "api/v1/userlogin", data : inputVals, dataType : "json", type : "post", success : function { if else console. log ; } }); return false; } -- Bu da API KEY KONTROLÜ ve GET $app->get('/cases', 'authenticatePathologist', function use { $objCases = new Cases; $result = $objCases->getAllCases ; if else echoResponse ; }); function authenticatePathologist { $headers = apache_request_headers ; $response = array ; $app = \Slim\Slim::getInstance ; if (isset { $db = new DbOperation ; $api_key = $headers ; if (!$db->isValidPathologist } else } ozgunlu tarafından 21/Nis/16 15:21 tarihinde düzenlenmiştir Hello, i am nothing. I come from Neverland.

Localstorage de tutabilirsin. Çıkışta temizler tokenı db den silersin Bittik biz bittik