2015-10-07 11 views
0

У меня есть служба REST, которую мое мобильное приложение использует для аутентификации, когда пользователи нажимают на значки Facebook или Google.Как защитить службу REST от входа в систему от третьих лиц

Служба принимает идентификатор пользователя от поставщика и проверяет, существует ли она в базе данных, а затем выдает метод access_token для других методов.

Проблема в том, что я просто подумал, что для кого-то может быть довольно легко перехватить вызовы и выяснить, какая служба аутентифицируется и какой идентификатор пользователя, а затем вызвать ее, чтобы получить токен.

Как я могу избежать этого?

ответ

0

Я думаю, вам просто нужно отделить аутентификацию и авторизация функции. Вы можете разрешить Google (Google Sign-In) аутентификацию. Если вы будете следовать API, они будут безопасно аутентифицировать пользователя и отправить вам токен, который вы можете подтвердить.

Как только вы знаете, кто они такие, ваш сайт может безопасно разрешить, чтобы пользователь был соответствующим образом. Например, они могут быть уже существующим пользователем, нужно сделать учетную запись, быть администратором. Вы можете сделать эти авторизациями на вашем сайте на основании имени пользователя, который был аутентифицирован Google (в моем примере).

Twitter, Facebook и другие делают то же самое. Также см. OpenID Connect.