Я создаю мобильное приложение для своего веб-сайта с помощью Phonegap и использую PHP Codeigniter Framework для создания своего REST API. Мне нужно разрешить пользователям входить в приложение и получать информацию, но я немного запутался в части аутентификации.
Прямо сейчас это то, что я имею в виду:
Я решил использовать маркерный метод, потому что мне нужно было разрешить пользователям оставаться в приложении после первого входа в систему (я прочитал, что хранение имени пользователя / пароля на стороне клиента — это плохо).
Итак, вот мои вопросы,
Мой метод действителен / безопасен? Если да, то как токен хранится в телефонной пробке? Будет ли LocalStorage делать эту работу?
Есть ли лучше & более простой метод?
Есть ли библиотеки, которые могли бы помочь мне сделать это проще / быстрее? особенно с созданием REST API?
Наконец, я слышал об OAuth2, но это только для случаев, когда вы хотите разрешить сторонние входы в систему (Google, Facebook и т. Д.)? Я посмотрел на это, и, кажется, есть OAuth для PHP и OAuth для Phonegap. Если я это реализую, нужно ли мне это делать на стороне REST API И телефонной щели?
Я довольно новичок во всем этом, поэтому любые объяснения с примерами будут полезны.
Я предлагаю использовать ваш метод токена. Каждый раз, когда приложение запускается, проверьте, установлено ли локальное хранилище для пользовательского токена, если не настроен http-запрос, и сохраните токен в localstorage.
Вот пример кода
function validateUser(username,password){
//get the user token from local storage
if(window.localStorage.getItem('usertoken')==null){
//set up the http request
$.ajax({
url:'www.example.com/login.php',
method:post,
data:{'username':username,'password':password}
success:function(data){
//set the token in localstorage
window.localStorage.setItem('usertoken',data);
}
});
}
}
}
Других решений пока нет …