2013-12-15 6 views
2

После прочтения статьи Джеймса Уордса на Securing Single Page Apps and REST Services, я бы очень хотел реализовать это в Дарте. Однако я нашел так мало примеров в Dart по теме аутентификации. Я особенно заинтересован реализации шаги 6 - 9 из статьи:Аутентификация токена в дарце

  • Сервер проверяет информацию о входе и создает маркер аутентификации для пользователя
  • Сервер устанавливает маркер аутентификации в куки и возвращается это к приложению JavaScript
  • применение JavaScript делает запрос на некоторых защищенных данных, отправки маркера аутентификации в пользовательском заголовке
  • сервер проверяет маркер, а затем возвращает данные

Может ли кто-нибудь предоставить простой пример клиента/сервера в Dart. Заранее спасибо.

+0

Предполагаете ли вы, что Дарт работает как на клиенте, так и на сервере? – Vidya

+0

Да, оба клиента и сервер работают с Dart. – basheps

ответ

4

Я бы предложил, чтобы самая простая задача - использовать пакет папок Google OAuth2 с Dart на сервере для создания токена, как описано в этом tutorial.

Если вы хотите использовать куки для хранения маркера, как говорит Джеймс, вы можете сделать это так:

document.cookie = "token=TOKEN;max-age=${60*60*24*7*4}"; 

Вы читаете печенье, как это:

var token = document.cookie.replace(/(?:(?:^|.*;\s*)token\s*\=\s*([^;]*).*$)|^.*$/, "$1"); 

И отправить его обратно в пользовательском заголовке:

HttpRequest req = new HttpRequest(); 
req.open("Get", "www.server.com"); 
req.setRequestHeader("custom-token-header", token); 

Затем вы можете проверить токен, как описано в учебнике.

+0

Хороший совет по OAuth2, идя в него больше. – basheps

+0

Рад помочь. Удачи с вашим проектом! – Vidya

+0

Ссылка на учебное пособие испортилась. Вот ссылка веб-архива на ту же страницу: http://web.archive.org/web/20150810232156/http://blog.dartwatch.com/2013/04/sign-in-with-google-using-google- oauth2.html – buzz3791

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