OAuth был бы излишним в вашем текущем сценарии ( потенциально небезопасен ), так как он предназначен для авторизации сторонней службы для доступа к ресурсам по поведению пользователя.
Защита запроса AJAX через авторизованного пользователя
AFAICT, вы управляете клиентом, ресурсами и аутентификацией; поэтому вам нужно только обеспечить безопасный доступ к URL-адресам и, возможно, связь между клиентом и сервером через SSL [2].
Итак, используйте расширение Tipfy для защиты ваших URL:
from tipfy import RequestHandler, Response
from tipfy.ext.auth import AppEngineAuthMixin, user_required
class MyHandler(RequestHandler, AppEngineAuthMixin):
@user_required
def get(self, **kwargs):
return Response('Only logged in users can see this page.')
Защита запроса AJAX без авторизованного пользователя
Если пользователь неизвестен, то можно применить предупреждения CSRF, чтобы помочь защитить службу REST от вызова «неавторизованным» клиентом. У Tipfy это встроено в расширение WTForms , но это не AJAX. Вместо этого расширение сеанса может использоваться для применения «authenticity_token» ко всем вызовам, которые должны быть проверены на сервере.