Как обезопасить мой Restful API, созданный в рамках игры - PullRequest
1 голос
/ 31 декабря 2011

Я хочу добавить аутентификацию пользователя к моему успокоительному API, который я создал с помощью Play на основе Java! основа.

В настоящее время у меня есть защищенное веб-приложение (доступ к браузеру) с помощью «безопасного модуля». Подробности здесь: http://www.playframework.org/documentation/1.1/secure

Могу ли я использовать тот же модуль для аутентификации, когда остальные API-адреса вызываются напрямую через http-запросы?

Если нет, я был бы признателен за некоторые указатели на учебные пособия / модуль для интеграции другого метода аутентификации (надеюсь, тот, который может применяться как для доступа к веб-приложению из браузера, так и для доступа к http api).

PS Было бы неплохо избегать HTTPS и переваривать, если это возможно.

1 Ответ

1 голос
/ 11 февраля 2012

Если вы уже используете механизм ввода имени пользователя и пароля, добавление базовой аутентификации http для ваших вызовов API не должно быть сложным. Вы можете создать перехватчик, который делает что-то вроде:

public class ApiInterceptor extends Controller 
{
    @Before
    static void checkAccess() {
         if ( request.user == null || request.password == null) {
             unauthorized();
         }

         boolean canAccess = .... ;// check user and password here 
         if ( !canAccess ) {
             unauthorized();
         }
    }
 }

Но это означает, что вам нужно использовать SSL, поскольку имя пользователя и пароль записываются в виде открытого текста через http.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...