2016-07-16 3 views
0

Я создаю мобильное приложение (Ionic/Cordova), и оно будет вызывать API (NodeJS), и я пытаюсь создать простой и эффективный подход к аутентификации пользователей, который может быть как:Советы по подходу к проверке подлинности API для приложений/API

  1. Вход пользователя в мобильное приложение и
  2. защитить API, так что только знаковое пользователи могут называть API
  3. АНИ может определить, какой пользователь звонит его

В идеале я бы использовал что-то ли ke Auth0, чтобы подписать пользователя в приложение, потому что я не хочу иметь дело с паролями и т. д.

Поэтому я понимаю, что могу создать свое приложение HTML5/Javascript и использовать Auth0, и он будет регистрировать пользователя в приложении, но часть, которую я пытаюсь понять, - это как ее настроить, поэтому, когда пользователь входит в систему, а приложение вызывает NodeJS API, код API будет знать, кто такой пользователь?

Могу ли я использовать модуль паспорта NodeJS для Auth0 и просто передавать токены из приложения в API и, как магия, он будет работать? Или мне нужно сделать что-то другое в самом API, например, создать механизм oauth?

Любые рекомендации по защите API в этом сценарии будут оценены. Я в идеале не хочу создавать свою собственную систему аутентификации/токена в API.

ответ

1

Да, паспорт может помочь вам разработать механизм автоматической механизации. как имя пользователя passoword. войдите один раз и оставайтесь в системе в течение некоторого времени.

check this tutorial

Чтобы получить ТОКЕМ вы должны добавить API для входа в аккаунт. в API signin вы подтверждаете имя пользователя и пароль. затем сгенерируйте токен jwt и перейдите к клиенту.

var token = jwt.encode(user, config.secret); 

Теперь у вас мобильное приложение На стороне клиента вы можете сохранить как cookie или локальное хранилище.

window.localStorage.setItem('token', 'the-long-access-token'); 

Тогда после всякий раз, когда вы вызываете API, которые ограничены. вы передаете токен. например

var token = window.localStorage.getItem('token'); 

if (token) { 
    $.ajaxSetup({ 
    headers: { 
     'x-access-token': token 
    } 
    }); 
} 
+0

Примите, пожалуйста, ответ, если он сработает для вас. – enRaiser

+0

Привет, не было после получения информации о том, как клиентское приложение. Я хочу знать, как я должен защищать API. Просто проверяет, что клиентское приложение достаточно пропускает ID_TOKEN? –

+0

Да, если по защите вы имеете в виду аутентификацию. то, очевидно, это то, что я написал выше. токен генерируется только после входа в систему. Его трудно атаковать. – enRaiser

 Смежные вопросы

  • Нет связанных вопросов^_^