2014-11-19 2 views
1

Я разработал проект веб-API, который имеет установленную конечную точку маркера. Я хочу создать еще один сайт, который вызывает этот API, поэтому я создал эту функцию JavaScript:web api authentication и ssl

$.ajax({ 
    url: "http://path.to.site/token", 
    data: { 
     grant_type: "password", 
     userName: "user", 
     password: "password" 
    } 
}).done(function (data) { 
    console.log(data); 
}).fail(function (errror) { 
    console.log(error); 
}); 

Даже с SSL включен на обоих сайтах, если пользователь был для просмотра исходного кода сайта, то они были бы способный видеть имя пользователя и пароль. Если я получил токен доступа с использованием кода на стороне сервера (PHP, .net или что-то еще), мне все равно придется передавать токен доступа на вызовы API JavaScript и снова, что было бы читаемым.

Я чувствую, что здесь что-то не хватает, может кто-нибудь объяснить мне, что это такое? : D

+0

Может быть, ваш URL должен иметь httpS ?? –

ответ

1

Что вы можете сделать, это использовать ваш сервер для создания JWT при его создании.

В вашей JWT вы можете вставлять некоторые претензии в отношении своего сайта, а затем передавать JWT как токен-носитель от клиента к вашему API. Ваш API будет использовать общий секрет (о котором знают только ваш сайт и API) для создания JWT-подписи, чтобы убедиться, что он защищен паролем на клиенте. Используя общие функции JWT, такие как exp, iat и jti, вы можете защитить эту информацию еще больше.

Я надеюсь, что эта помощь. Я работаю в компании Stormpath, которая помогает с такими проблемами (аутентификация API, управление пользователями).

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